# Turnkey: Documentation

> ## Agent Instructions
> Turnkey is wallet infrastructure: create and manage crypto wallets, sign transactions, and enforce policy-based access controls. Best-fit uses: embedded consumer wallets (email/passkey/social auth, no seed phrases), automated onchain operations with server-side wallets, AI agent wallets with policy-scoped signing, enterprise key management, and verifiable off-chain workloads on Turnkey Verifiable Cloud (TVC).
> Every API call is a JSON POST to https://api.turnkey.com signed with a P-256 API key; create an organization and key self-serve at https://app.turnkey.com.
> Key Turnkey developer resources: API reference (https://docs.turnkey.com/api-reference/overview/intro.md), OpenAPI spec (https://docs.turnkey.com/public_api.swagger.json), authentication (https://docs.turnkey.com/features/authentication/overview.md), webhooks (https://docs.turnkey.com/features/webhooks/overview.md), MCP server for docs search (https://docs.turnkey.com/mcp), agent skills (https://docs.turnkey.com/get-started/ai-skills.md), CLI (https://docs.turnkey.com/sdks/cli.md), SDK reference (https://docs.turnkey.com/sdks/introduction.md), full docs content (https://docs.turnkey.com/llms-full.txt).

## Documentation

### Get started

- [About Turnkey](https://docs.turnkey.com/get-started/about-turnkey.md): Turnkey is wallet infrastructure for developers — secure key management, transaction signing, and programmable access controls built on hardware-backed secure enclaves.
- [Account setup](https://docs.turnkey.com/get-started/quickstart.md): Before diving into the code, let's set up your organization and conjure up an API keypair to unlock the full potential of Turnkey!
- [Code examples](https://docs.turnkey.com/get-started/examples.md): Turnkey infrastructure is flexible by default. We intentionally prioritize low-level primitives in our product to avoid creating blockers for developers building new kinds of applications on Turnkey.

#### Using LLMs

- [Turnkey MCP server and AI resources](https://docs.turnkey.com/get-started/using-llms.md): Connect to the Turnkey MCP server, ingest the Turnkey llms.txt feeds, and use AI tools to integrate with Turnkey.
- [Agent Skills](https://docs.turnkey.com/get-started/ai-skills.md): Opinionated instructions that tell AI agents how to interact with Turnkey through conversation, not code.

#### Going live

- [Production checklist](https://docs.turnkey.com/get-started/production-checklist.md): This checklist contains recommendations and steps specifically for deploying an Embedded Wallet production environment.
- [Backup and recovery](https://docs.turnkey.com/get-started/backup-recovery.md): In line with responsible practices, backup and recovery of Turnkey accounts and/or wallets is an important consideration when designing any production system. The specific mechanisms (such as [wallet exports](/features/wallets/export-wallets)) are outlined in greater detail elsewhere - the purpose o…

### Features

#### Organizations

- [Organizations](https://docs.turnkey.com/features/organizations.md): An organization is a logical grouping of resources (e.g. users, policies, wallets). These resources can only be accessed by authorized and permissioned users within the organization. Resources are not shared between organizations.
- [Sub-organizations](https://docs.turnkey.com/features/sub-organizations.md): Using Turnkey's flexible infrastructure, you can programmatically create and manage sub-organizations for your end-users. Sub-organizations aren't subject to size limits: you can create as many sub-organizations as needed. The parent organization has **read-only** visibility into all of its sub-orga…

#### Users

- [Users](https://docs.turnkey.com/features/users/introduction.md): Turnkey users are resources within organizations or sub-organizations that can submit activities to Turnkey via a valid credential (e.g., API key, passkey).
- [Credentials](https://docs.turnkey.com/features/users/credentials.md): Credentials are how users authenticate to Turnkey. Turnkey only stores public keys; private keys never leave your device.
- [Root quorum](https://docs.turnkey.com/features/users/root-quorum.md): When you create a Turnkey organization, your user is created and will default to being the sole member of the root quorum. Because of the wide scope of permissions, it is important to take care when using any users in the root quorum. The following offers a technical overview and some best practices…
- [Best practices](https://docs.turnkey.com/features/users/best-practices.md): This page describes some best practices to consider as you set up users and policies while getting ready for production.

#### Authentication

- [Turnkey authentication](https://docs.turnkey.com/features/authentication/overview.md): Learn about supported authentication methods for Turnkey, how to add them, and usage details.

##### Auth methods

- [Social logins](https://docs.turnkey.com/features/authentication/social-logins.md): Social logins provide a familiar and convenient way for users to access applications using their existing accounts from popular platforms like Google, Apple, Facebook, X/Twitter, etc. Under the hood, this functionality is powered by OAuth - a robust auth protocol which enables secure user verificati…
- [SMS authentication](https://docs.turnkey.com/features/authentication/sms.md): SMS authentication enables users to authenticate their Turnkey account using their phone number via a 6-9 digit or bech32 alphanumeric one-time password (OTP). When authenticated, users receive an expiring API key stored in memory within an iframe, which functions like a session key to access their…
- [Migrate to encrypted OTP flows](https://docs.turnkey.com/features/authentication/otp-migration-guide.md): How to migrate to Turnkey's new security-upgraded OTP authentication flows.
- [Backend authentication](https://docs.turnkey.com/features/authentication/backend-setup.md): Guide for integrating Turnkey authentication into your backend, covering session JWT creation, validation, and enforcing user access controls.
- [Bring your own auth](https://docs.turnkey.com/features/authentication/bring-your-own-auth.md): Learn how to integrate Turnkey with your existing authentication system while keeping user wallets non-custodial.

###### Email auth & recovery

- [Overview](https://docs.turnkey.com/features/authentication/email.md): Email Authentication enables users to authenticate and recover their Turnkey accounts using email-based verification. There are two methods of email authentication:
- [Email delivery events](https://docs.turnkey.com/features/authentication/email-delivery-events.md): Monitor email delivery status, investigate delays, and debug bounces or complaints using the Turnkey Dashboard or API.

###### Passkeys

- [Introduction to Passkeys](https://docs.turnkey.com/features/authentication/passkeys/introduction.md): Passkeys are born out of a new standard being pushed by major industry players: Apple and Google.
- [Integrating Passkeys](https://docs.turnkey.com/features/authentication/passkeys/integration.md)
- [Passkey options](https://docs.turnkey.com/features/authentication/passkeys/options.md): Whether you use the raw browser APIs or one of our helpers you'll have flexibility to set your own registration and authentication options. This page provides an overview and some recommendations related to these options.
- [Native Passkeys](https://docs.turnkey.com/features/authentication/passkeys/native.md): If you're unfamiliar with passkeys broadly, head to  for an overview. TL;DR: passkeys are cryptographic key pairs generated and stored on secure hardware. Typically this is your Mac's or iPhone's , your Android's , or an external security key plugged in via USB.
- [Discoverable vs. non-discoverable](https://docs.turnkey.com/features/authentication/passkeys/discoverable-vs-non-discoverable.md): Also known as "resident" vs. "non-resident" credentials. From [the spec](https://www.w3.org/TR/webauthn-2/)

##### Auth Proxy

- [Auth Proxy](https://docs.turnkey.com/features/authentication/auth-proxy.md): Use Turnkey's managed Auth Proxy to securely run OTP/OAuth/signup flows without standing up your own backend.
- [Captcha](https://docs.turnkey.com/features/authentication/captcha.md): Protect your auth flows from bots and abuse with Cloudflare Turnstile, configured in the Turnkey Dashboard.

##### Sessions

- [Sessions](https://docs.turnkey.com/features/authentication/sessions/overview.md): Turnkey sessions allow a user to take multiple, contiguous actions in a defined period of time.
- [Session Profiles](https://docs.turnkey.com/features/authentication/sessions/session-profiles.md): Learn how to use session profiles to issue sessions with limited scope.

##### Multi-factor authentication (MFA)

- [Multi-Factor Authentication (MFA)](https://docs.turnkey.com/features/authentication/mfa/overview.md): Learn about multi-factor authentication (MFA) in Turnkey and how to use MFA policies to require multiple forms of authentication for specific activities.
- [Satisfying MFA](https://docs.turnkey.com/features/authentication/mfa/satisfying-mfa.md): Learn how a user can satisfy multi-factor authentication (MFA) policies by proving control of the required authentication methods.
- [MFA Recovery](https://docs.turnkey.com/features/authentication/mfa/enforcement-and-recovery.md): Learn how to set up recovery mechanisms for MFA policies in case users lose access to their authentication methods.
- [MFA Examples](https://docs.turnkey.com/features/authentication/mfa/examples.md): Explore examples of multi-factor authentication (MFA) policies in Turnkey, including how to require MFA for specific activities, how to set up recovery mechanisms, and how MFA interacts with Turnkey's consensus system.

##### Advanced

- [Proxying signed requests](https://docs.turnkey.com/features/authentication/proxying-signed-requests.md): Turnkey has an open CORS policy for its public API. This means your frontend can choose to POST sign requests straight to `https://api.turnkey.com`. Your frontend can also choose to forward the requests via a backend server (which POSTs the signed request to Turnkey).

#### Wallet and key management

- [Wallets](https://docs.turnkey.com/features/wallets.md): A [hierarchical deterministic (HD) wallet](https://learnmeabitcoin.com/technical/hd-wallets) is a collection of cryptographic private/public key pairs that share a common seed. A wallet is used to generate accounts.
- [Pre-generated wallets](https://docs.turnkey.com/features/wallets/pregenerated-wallets.md): Turnkey allows you to pre-generate wallets for your user before they authenticate. This is helpful if you already know the users email or phone number, and want to create a deposit address for them or airdrop a reward before they authenticate to Turnkey.
- [Claim links](https://docs.turnkey.com/features/wallets/claim-links.md): Enable your users to send crypto to people who haven’t signed up yet through secure, non-custodial magic claim links. This feature creates pre-funded wallets that new users can claim by simply clicking a URL.
- [Account abstraction wallets](https://docs.turnkey.com/features/wallets/aa-wallets.md): Turnkey offers flexible infrastructure to create and manage keys. These keys can be used as a signer inside of an [Account Abstraction wallet](https://www.erc4337.io/), and we've partnered with [Alchemy](https://www.alchemy.com/) and [ZeroDev](https://zerodev.app/) to integrate in a few lines of cod…
- [Secret storage](https://docs.turnkey.com/features/secrets.md): Import, store, and export arbitrary secrets (passwords, credit cards, API keys) with policy-gated, end-to-end encrypted access.

##### Import & export

- [Import wallets](https://docs.turnkey.com/features/wallets/import-wallets.md)
- [Export wallets](https://docs.turnkey.com/features/wallets/export-wallets.md)

#### Chain support

- [Overview](https://docs.turnkey.com/features/networks/overview.md): Turnkey operates at the **cryptographic curve** level rather than specific assets. As a result Turnkey is asset agnostic and can be used with any type of asset as long as we support the underlying curve.

##### Supported networks

- [Ethereum (EVM) support on Turnkey](https://docs.turnkey.com/features/networks/ethereum.md)
- [Bitcoin support on Turnkey](https://docs.turnkey.com/features/networks/bitcoin.md)
- [Spark support on Turnkey](https://docs.turnkey.com/features/networks/spark.md)
- [Hyperliquid support on Turnkey](https://docs.turnkey.com/features/networks/hyperliquid.md)
- [Cosmos support on Turnkey](https://docs.turnkey.com/features/networks/cosmos.md)
- [Tron support on Turnkey](https://docs.turnkey.com/features/networks/tron.md)
- [Sui support on Turnkey](https://docs.turnkey.com/features/networks/sui.md)
- [Sei support on Turnkey](https://docs.turnkey.com/features/networks/sei.md)
- [Stacks](https://docs.turnkey.com/features/networks/stacks.md)
- [Aptos support on Turnkey](https://docs.turnkey.com/features/networks/aptos.md)
- [Tempo support on Turnkey](https://docs.turnkey.com/features/networks/tempo.md)
- [Movement](https://docs.turnkey.com/features/networks/movement.md): Movement support on Turnkey
- [IOTA support on Turnkey](https://docs.turnkey.com/features/networks/iota.md)
- [Doge](https://docs.turnkey.com/features/networks/doge.md)
- [Canton support on Turnkey](https://docs.turnkey.com/features/networks/canton.md)
- [Cardano support on Turnkey](https://docs.turnkey.com/features/networks/cardano.md)
- [Others](https://docs.turnkey.com/features/networks/others.md)

###### Solana (SVM)

- [Solana (SVM) support on Turnkey](https://docs.turnkey.com/features/networks/solana.md)
- [Solana transaction construction for sponsored flows](https://docs.turnkey.com/features/networks/solana-transaction-construction.md): Understand what Turnkey manages for sponsored Solana transactions, what your application still controls, and the current transaction-construction caveats.
- [Solana rent sponsorship](https://docs.turnkey.com/features/networks/solana-rent-refunds.md): Understand how Solana rent sponsorship works, when rent is pre-funded, and how to reduce rent-refund leakage in sponsored flows.

#### Policies

- [Policies](https://docs.turnkey.com/features/policies/overview.md): Our policy engine is the foundation for flexible controls and permissions within your organization. This page provides an overview of how to author policies.
- [Policy quickstart](https://docs.turnkey.com/features/policies/quickstart.md): This guide will help you add an additional user to your Turnkey organization and set permissions for that user through Policies. Specifically, we will create an API-only user with permissions to sign transactions to an allowlisted address.
- [Policy language](https://docs.turnkey.com/features/policies/language.md): This page provides an overview of how to author policies using our policy language. To begin, we'll need to get familiar with the language's grammar, keywords, and types.
- [Smart contract interfaces — ABIs & IDLs](https://docs.turnkey.com/features/policies/smart-contract-interfaces.md): This page provides an overview of the Policy Engine's support for parsing calls to Smart Contracts on Ethereum and Programs on Solana by uploading the JSON respresentation of the respective ABI (Ethereum) or IDL (Solana)
- [Time-based policies](https://docs.turnkey.com/features/policies/time-based-policies.md): This page provides an overview of the Policy Engine's top-level `time` field, which gates when a policy is active — one-shot windows bounded by explicit timestamps, and recurring active spans

##### Examples

- [Access control](https://docs.turnkey.com/features/policies/examples/access-control.md): This page provides examples of policies governing access generally.
- [Time-based policies](https://docs.turnkey.com/features/policies/examples/time-based-policies.md): This page provides examples of policies that use the top-level `time` field to control when a policy is active.
- [Co-signing transactions](https://docs.turnkey.com/features/policies/examples/co-signing-transactions.md): Learn how to set up and use co-signing (multi-sig) wallets with Turnkey.
- [Signing control](https://docs.turnkey.com/features/policies/examples/signing-control.md): This page provides examples of policies governing signing generally. See network-specific guides for more.
- [Ethereum (EVM)](https://docs.turnkey.com/features/policies/examples/ethereum.md): This page provides examples of policies governing Ethereum (EVM) signing.
- [Solana](https://docs.turnkey.com/features/policies/examples/solana.md): This page provides examples of policies governing Solana signing.
- [Tron](https://docs.turnkey.com/features/policies/examples/tron.md): This page provides examples of policies governing signing.
- [Bitcoin](https://docs.turnkey.com/features/policies/examples/bitcoin.md): This page provides examples of policies governing Bitcoin signing.
- [Spark](https://docs.turnkey.com/features/policies/examples/spark.md): This page provides examples of policies governing Spark activities.
- [Tempo](https://docs.turnkey.com/features/policies/examples/tempo.md): This page provides examples of policies governing Tempo signing.

##### Delegated access

- [Overview](https://docs.turnkey.com/features/policies/delegated-access/overview.md): With Turnkey you can create multi-user accounts with flexible co-ownership controls. This primitive enables you to establish delegated access to a user’s wallet, reducing or removing the need for them to manually approve each action. You can provide a smoother user experience while ensuring that end…
- [Client-side delegated access setup](https://docs.turnkey.com/features/policies/delegated-access/frontend.md): Step-by-step guide for adding Delegated Access users and policies entirely client-side
- [Server-side delegated access setup](https://docs.turnkey.com/features/policies/delegated-access/backend.md): Step by step implementation of the delegated access entirely server-side
- [End-User Delegated Agent Signing](https://docs.turnkey.com/features/policies/delegated-access/agentic-wallets.md): Let embedded wallet users delegate scoped signing authority to AI agents, controlled by granular policies

#### Transaction management

- [Transaction management](https://docs.turnkey.com/features/transaction-management.md): Learn about Turnkey's gas sponsorship, transaction construction, broadcast, nonce management and monitoring capabilities.
- [Balances](https://docs.turnkey.com/features/transaction-management/balances.md): Learn about Turnkey's balance querying and balance change webhooks.
- [Transaction history](https://docs.turnkey.com/features/transaction-management/transaction-history.md): List EVM and Solana transaction history for any wallet account associated with your organization or one of its suborgs.
- [Fiat onramp](https://docs.turnkey.com/features/transaction-management/fiat-on-ramp.md): Turnkey’s Fiat Onramp lets your end users convert traditional currency (USD, EUR, etc.) into crypto assets (ETH, USDC, BTC, etc.) directly within your application.

##### Broadcasting

- [Broadcasting (construction, signing, broadcast, gas abstraction)](https://docs.turnkey.com/features/transaction-management/broadcasting.md): Guide for sending sponsored EVM transactions using @turnkey/core for custom frameworks, Node.js servers, or full manual control.
- [Sending sponsored EVM transactions](https://docs.turnkey.com/features/transaction-management/sending-sponsored-transactions.md): In this guide, we’ll walk through the process of setting up sponsored transactions, with abstractions for transaction construction, broadcast, and gas management, using React.
- [Sending sponsored Solana transactions](https://docs.turnkey.com/features/transaction-management/sending-sponsored-solana-transactions.md): Send sponsored Solana transactions using Turnkey's solSendTransaction API

##### Earn

- [Overview](https://docs.turnkey.com/features/transaction-management/earn.md): Deposit into DeFi yield vaults from Turnkey wallets, with onchain fee collection for your organization.
- [Browse the vault catalog](https://docs.turnkey.com/features/transaction-management/earn/vault-catalog.md): Discover the yield vaults available for an asset with live TVL and APY, and list the vaults your organization has enabled.
- [Deploy a vault wrapper](https://docs.turnkey.com/features/transaction-management/earn/deploy-wrapper.md): Enable a yield vault for your organization by deploying its fee wrapper, a one-time setup step that also sets your fee.
- [Manage wrappers](https://docs.turnkey.com/features/transaction-management/earn/manage-wrappers.md): Pause deposits, claim your accrued fees, and change or tier your fee by deploying additional wrappers.
- [Deposit into a vault](https://docs.turnkey.com/features/transaction-management/earn/deposit.md): Move assets from a Turnkey wallet into an enabled yield vault in one atomic transaction, optionally gas-sponsored.
- [Withdraw from a vault](https://docs.turnkey.com/features/transaction-management/earn/withdraw.md): Withdraw a partial amount or the entire position from an enabled yield vault.
- [Track positions](https://docs.turnkey.com/features/transaction-management/earn/positions.md): Query a wallet’s active Earn positions: current value, lifetime deposits and withdrawals, and the yield earned.
- [End-to-end example: Earn on Base](https://docs.turnkey.com/features/transaction-management/earn/end-to-end-example.md): Deploy a wrapper for a Morpho USDC vault on Base, deposit, track the position, and withdraw: the full Earn lifecycle.

##### Swaps

- [Overview](https://docs.turnkey.com/features/transaction-management/swap.md): Execute token swaps from wallets you manage with Turnkey through a unified interface over independent third-party DEX aggregators, and take your own fee on every swap.
- [Enable Swaps](https://docs.turnkey.com/features/transaction-management/swap/enable-swap.md): One-time parent-organization activity that sets your integrator fee configuration.
- [Get a Swap Quote](https://docs.turnkey.com/features/transaction-management/swap/get-swap-quote.md): Request executable quotes for a token pair from a Turnkey wallet, priced net of all fees, with the minimum output enforced at execution.
- [Execute a Swap](https://docs.turnkey.com/features/transaction-management/swap/execute-swap.md): Execute a quoted token swap from a Turnkey wallet in one signed activity, with ERC-20 approvals handled for you and optional gas sponsorship.
- [Track Swap Status](https://docs.turnkey.com/features/transaction-management/swap/track-swap-status.md): Poll a swap from execute acceptance to settlement with get_swap_status. Same-chain and cross-chain swaps normalize to a single PENDING / COMPLETED / FAILED model.
- [End-to-end example: Swap on Base](https://docs.turnkey.com/features/transaction-management/swap/end-to-end-example.md): Configure your fee, quote a USDC → WETH swap, execute it from a Turnkey wallet, and poll to settlement: the full Swaps lifecycle.

#### Turnkey Verifiable Cloud

- [Overview](https://docs.turnkey.com/features/verifiable-cloud/overview.md)
- [Why TVC?](https://docs.turnkey.com/features/verifiable-cloud/why-tvc.md)
- [Building your first app](https://docs.turnkey.com/features/verifiable-cloud/onboarding.md)
- [Turnkey Verifiable Cloud quickstart](https://docs.turnkey.com/features/verifiable-cloud/quickstart.md): Run any code in isolated, verifiable secure enclaves powered by Turnkey’s trusted infrastructure.
- [Manifest sets and share sets](https://docs.turnkey.com/features/verifiable-cloud/manifest-sets-and-share-sets.md): Understand the two operator sets that control a TVC app: who approves what runs, and who guards the Quorum Key.
- [Managing TVC apps and deployments](https://docs.turnkey.com/features/verifiable-cloud/managing-apps-and-deployments.md): Direct traffic, delete, and restore TVC apps and deployments.
- [Proofs and Verification](https://docs.turnkey.com/features/verifiable-cloud/proofs-and-verification.md)
- [Debug mode](https://docs.turnkey.com/features/verifiable-cloud/debug-mode.md): View enclave logs while iterating on a non-production TVC app.

#### IP Allowlist

- [Overview](https://docs.turnkey.com/features/ip-allowlisting/overview.md): Restrict API access to your Turnkey organization based on the source IP address of incoming requests.

#### Webhooks

- [Turnkey webhooks](https://docs.turnkey.com/features/webhooks/overview.md): Receive signed, real-time notifications for events in your Turnkey organization.
- [Verify webhook signatures](https://docs.turnkey.com/features/webhooks/verify-signatures.md): Verify Turnkey webhook signatures using the JWKS key discovery endpoint and the @turnkey/crypto SDK helper.

### Reference

- [Resource limits](https://docs.turnkey.com/reference/resource-limits.md): Learn more about how to structure your implementation to avoid resource limits.
- [Migrating wallets to Turnkey](https://docs.turnkey.com/reference/migration-guide.md): If you're coming to Turnkey from a different provider, we can help make it simple. Follow the custodial or non-custodial flows outlined below depending on your use case, and be sure to check the linked resources for some fully featured utilities.
- [FAQ](https://docs.turnkey.com/reference/faq.md)
