Examples
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.
That said, we have built out several example services and applications to help illustrate the types of functionality that Turnkey can enable.
Code Examples
Example | Description |
---|---|
demo-consumer-wallet | A minimal consumer wallet app powered by Turnkey and WalletConnect |
demo-passkey-wallet | A minimal consumer wallet app powered by Turnkey and passkeys |
demo-ethers-passkeys | A NextJS app that demonstrates how to use @turnkey/ethers to build a passkey-powered application |
demo-viem-passkeys | A NextJS app that demonstrates how to use @turnkey/viem to build a passkey-powered application |
deployer | Compile and deploy a smart contract |
email-recovery | A NextJS app that demonstrates how to use @turnkey/iframe-stamper to perform email recovery |
rebalancer | A demo application which showcases an example of how to use Turnkey for managing multiple types of keys & users |
sweeper | Sweep funds from one address to a different address |
trading-runner | A sample application demonstrating a trading operation, using various private keys, users, and policies, powered by Uniswap |
wallet-export | A NextJS app that demonstrates how to use @turnkey/iframe-stamper to export a wallet as a mnemonic |
with-ethers | Create a new Ethereum address, then sign and broadcast a transaction using the Ethers signer with Infura |
with-viem | Sign and broadcast a transaction using the Turnkey Custom Account and Infura |
with-cosmjs | Create a new Cosmos address, then sign and broadcast a transaction on Celestia testnet using the CosmJS signer |
with-eip-1193-provider | Example using a Turnkey-compatible Ethereum provider that adheres to the EIP-1193 standards |
with-solana | Create a new Solana address, then sign and broadcast a transaction on Solana's devnet |
with-gnosis | Create new Ethereum addresses, configure a 3/3 Gnosis safe, and create + execute a transaction from it |
with-uniswap | Sign and broadcast a Uniswap v3 trade using the Ethers signer with Infura |
with-nonce-manager | Create a new Ethereum address, then sign and broadcast multiple transactions in a sequential or optimistic manner |
with-offline | Sign a Turnkey request in offline context |
with-federated-passkeys | A NextJS app that demonstrates how to use Turnkey to build a federated, webauthn powered authentication flow |
Demos built with Turnkey
Demo Consumer Wallet (code)
A minimal consumer wallet app powered by Turnkey. Behind the scenes, it uses @turnkey/ethers
for signing and WalletConnect (v1) for accessing dapps.
See https://github.com/tkhq/demo-consumer-wallet for the code.
Demo Passkey Wallet (code, live link)
A wallet application showing how users can register and authenticate using passkeys. This demo uses the Turnkey API to create a new Turnkey Sub-Organization for each user, create a testnet Ethereum address and send a transaction on Sepolia (ETH testnet).
See https://wallet.tx.xyz (and https://github.com/tkhq/demo-passkey-wallet for the code).
Demo Ethers Passkeys (code)
A simple application demonstrating how to create sub-organizations, create private keys, and sign with the @turnkey/ethers
signer, using passkeys.
See https://github.com/tkhq/demo-ethers-passkeys for the code.
Demo Viem Passkeys (code)
A similar, simple application demonstrating how to create sub-organizations, create private keys, and sign with the @turnkey/viem
signer, using passkeys.
See https://github.com/tkhq/demo-viem-passkeys for the code.