Skip to main content
That said, we have built out several example services and applications to help illustrate the types of functionality that Turnkey can enable.

Demos

Full end-to-end applications to see everything working together.
ExampleDescription
react-wallet-kitComprehensive demo of embedded wallet kit with auth, wallet management, signing, import/export
demo-embedded-walletA minimal consumer wallet app powered by Turnkey and passkeys, with transaction sending
demo-consumer-walletA minimal consumer wallet app powered by Turnkey and WalletConnect
with-react-native-wallet-kitA React Native app demonstrating how to use @turnkey/react-native-wallet-kit to authenticate users, create wallets, export wallets, sign messages, and more
flutter-demo-appA Flutter app that demonstrates how to use the Turnkey’s Flutter packages to authenticate users, create wallets, export wallets, sign messages, and more
swift-sdk/ExamplesNative iOS wallet app with OTP, OAuth, and passkey auth, wallet creation, message signing, and transaction sending

Authentication

ExampleDescription
oauthOAuth login (Google) integration with Turnkey via backend server actions
otp-authEmail OTP authentication with Auth Proxy and a custom backend
magic-link-authMagic link login/signup flow using Turnkey’s email OTP system
wallet-authExternal wallet authentication (MetaMask, Phantom, etc.) with Auth Proxy and custom backend
with-wallet-stamperDemonstrates @turnkey/wallet-stamper for signing Turnkey requests with an external wallet

Key & Wallet Management

ExampleDescription
import-export-with-rwkWallet import and export using React Wallet Kit and Auth Proxy
import-export-with-iframe-stamperWallet import/export via @turnkey/iframe-stamper
wallet-export-signWallet export and signing operations via Turnkey iframe
export-in-nodeWallet export performed on the backend
import-in-nodeWallet import performed on the backend
disaster-recoveryWallet disaster recovery with direct import or encryption key escrow
encryption-key-escrowUse Turnkey to store encryption keys for external recovery bundles

Signing

Signers and chain-specific transaction examples.
ExampleDescription
with-ethersSign messages, send EIP-1559 and legacy transactions, interact with contracts (WETH), and sign EIP-712 typed data (ERC-2612 permit, ERC-3009, Hyperliquid) using @turnkey/ethers
with-viemSign messages, send transactions, sign EIP-712 typed data, and sign EIP-4844 and EIP-7702 transactions using @turnkey/viem
with-eip-1193-providerTurnkey-compatible Ethereum provider adhering to the EIP-1193 standard
with-nonce-managerSign and broadcast multiple Ethereum transactions sequentially or optimistically
with-cosmjsSign and broadcast a Cosmos transaction on Celestia testnet using @turnkey/cosmjs
with-solanaSign and broadcast Solana transactions using @turnkey/solana, including SPL token creation + transfer
with-bitcoinConstruct, sign, and broadcast a Bitcoin transaction using bitcoinjs-lib
with-dogeDogecoin testnet transaction signing using bitcoinjs-lib
with-aptosAptos transaction construction and mainnet fund transfer
with-tonTON transaction construction and mainnet fund transfer
with-tronTron wallet creation, signing, testnet funding, and policy guards
tron-gasless-transactionsGasless Tron transactions using delegated bandwidth via the DelegateResource contract function
with-stacksStacks transaction signing with secp256k1
with-movementMovement transaction construction and mainnet fund transfer
with-arcArc testnet transaction construction and broadcast
with-tempoTempo testnet transaction construction and broadcast
with-suiConstruct, sign, and broadcast a Sui transaction using Turnkey
with-iotaBuild, sign, and broadcast IOTA transactions using Turnkey

Turnkey Transaction Management

ExampleDescription
tk-gas-stationGasless transactions using Gas Station SDK with EIP-7702 authorization
with-paymasterERC-20 token transfer on EVM with Turnkey paymaster gas sponsorship
with-solana-paymasterSPL token transfer on Solana with Turnkey fee sponsorship
with-balancesFetch token balances and list supported assets using Turnkey APIs
with-tx-webhooksReceive real-time transaction status and balance change updates via webhooks
solana-sweeperSolana token sweeper utility
solana-usdc-swapSOL to USDC swap on Solana mainnet via Jupiter
sweeperSweep funds from one address to a different address
rebalancerManage and rebalance funds across multiple wallets and key types

Account Abstraction

ExampleDescription
with-zerodev-aaTransaction construction and broadcast with Turnkey, Viem, and ZeroDev account abstraction
with-biconomy-aaTransaction construction and broadcast with Turnkey, Viem, and Biconomy account abstraction

DeFi & Protocol Integrations

ExampleDescription
with-uniswapSign and broadcast a Uniswap v3 trade using the Ethers signer
eth-usdc-swapETH to USDC swap on Base mainnet via Uniswap Universal Router
with-0xEVM swapping ETH for USDC using 0x Swap API
with-lifiEVM and SVM bridging between ETH and SOL using Li.Fi
with-aaveAave v3 USDC deposit/withdraw with Turnkey policy engine controls
with-morphoMorpho Vaults USDC deposit/withdraw on Base Mainnet
with-yield-xyzYield.xyz vaults deposit/withdraw across 75+ networks
with-portoPorto wallet upgrade and operations using API keys
with-x402Coinbase x402 payment protocol with embedded wallets
with-jupiterSolana token swaps using Jupiter Ultra Swap API
with-breezeSolana USDC staking and yield management via Breeze API
trading-runnerMulti-user Uniswap v3 trading demo with private key tags, user tags, and policies
with-gnosisCreate new Ethereum addresses, configure a 3/3 Gnosis safe, and create + execute a transaction from it
with-walletconnect-payReact Native wallet that authenticates users via email OTP and signs EIP-712 payment authorizations for WalletConnect Pay
braleStablecoin issuance and transfers with Turnkey wallets and the Brale API
relayCross-chain bridging and same-chain token swaps via the Relay protocol
polymarket-buildersPolymarket prediction market trading with builder attribution, Gnosis Safe, and CLOB order placement
base-builder-codesERC-8021 Base Builder Code attribution appended to Turnkey-signed transactions

Policies & Access Control

ExampleDescription
with-delegatedDelegated access setup examples

Smart Contracts & Automation

ExampleDescription
deployerCompile and deploy a smart contract
foundrySmart contract setup and broadcast from a Turnkey wallet using Foundry

Advanced & Utilities

ExampleDescription
with-offlineStamp a Turnkey request and produce a signed URL to send it later
kitchen-sinkPlayground scripts for common Turnkey requests via HTTP, sdk-server, and sdk-browser
with-sdk-jsIntegration test suite for @turnkey/core and @turnkey/react-wallet-kit

Demos built with Turnkey

A full-featured embedded wallet demo built with @turnkey/react-wallet-kit, showcasing the latest Turnkey SDK. Includes passkey, email, and OAuth authentication, wallet creation, and more. A wallet application showing how users can register and authenticate using passkeys. Includes features such as:
  • User authentication with passkeys, email auth, and OAuth
  • Creating new wallets and wallet accounts
  • Sending and receiving funds
  • Importing/Exporting a wallet
  • Adding a credential to the wallet
demo embedded wallet login view
demo embedded wallet dashboard view
See https://github.com/tkhq/demo-embedded-wallet for the code.

React Native Wallet Kit (code)

A React Native app demonstrating how to use @turnkey/react-native-wallet-kit to authenticate users, create wallets, export wallets, sign messages, and more.

Flutter demo app (code)

A Flutter app that demonstrates how to use the Turnkey’s Flutter packages to authenticate users, create wallets, export wallets, sign messages, and more
See https://github.com/tkhq/dart-sdk/tree/main/examples/flutter-demo-app for the code

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.