/sdk

Turnkey TypeScript SDK

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Turnkey SDK

js-build

API Docs: https://docs.turnkey.com/

Packages

Package NPM Description Changelog Category
@turnkey/ethers npm Turnkey Signer for Ethers CHANGELOG Signing
@turnkey/viem npm Turnkey Signer for Viem CHANGELOG Signing
@turnkey/cosmjs npm Turnkey Signer for CosmJS CHANGELOG Signing
@turnkey/solana npm Turnkey Signer for Solana CHANGELOG Signing
@turnkey/eip-1193-provider npm Turnkey-compatible EIP-1193 Provider CHANGELOG Signing
@turnkey/encoding npm Encoding and decoding utilities, primarily for internal usage CHANGELOG Utilities
@turnkey/crypto npm Cryptographic utilities for P256 keys, encryption, and decryption CHANGELOG Utilities
@turnkey/sdk-browser npm Abstractions for using Turnkey in a browser environment CHANGELOG Client abstraction
@turnkey/sdk-server npm Abstractions for using Turnkey in a server environment CHANGELOG Client abstraction
@turnkey/sdk-react npm Abstractions for using Turnkey with React CHANGELOG Client abstraction
@turnkey/react-native-passkey-stamper npm Passkey signing support in the React Native environment CHANGELOG Client abstraction
@turnkey/http npm Lower-level, fully typed HTTP client for interacting with Turnkey API CHANGELOG Turnkey primitives
@turnkey/api-key-stamper npm Provide API key signatures over Turnkey requests CHANGELOG Turnkey primitives
@turnkey/iframe-stamper npm Provide API key signatures over Turnkey requests within iframe contexts CHANGELOG Turnkey primitives
@turnkey/webauthn-stamper npm Provide Webauthn signatures over Turnkey requests CHANGELOG Turnkey primitives
@turnkey/wallet-stamper npm Provide wallet signatures over Turnkey requests CHANGELOG Turnkey primitives

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
passkeyapp A React Native + Expo app powered by Turnkey and passkeys
deployer Compile and deploy a smart contract
email-auth A NextJS app demonstrating a complete email auth flow using Turnkey iframes
email-auth-local-storage A NextJS app demonstrating a complete email auth flow using a locally stored target embedded key
email-recovery A NextJS app demonstrating a complete email recovery flow using Turnkey iframes
wallet-import-export A NextJS app demonstrating complete wallet import and export flows
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
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-solana Create a new Solana address, then sign and broadcast a transaction on Solana's devnet
with-bitcoin Create a new wallet, derive a BTC address, create, sign, and broadcast a transaction using BitcoinJS and other external APIs
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
with-solana-passkeys A NextJS app powering users to create suborgs, sign messages, and create transactions sponsored by the parent org using @turnkey/solana
with-eth-passkey-signers A NextJS app powering users to create suborgs and sign messages via Viem or Ethers
with-eip-1193-provider A NextJS app that demonstrates how to use Turnkey the @turnkey/eip-1193-provider in your app
with-wallet-stamper A NextJS app that demonstrates how to use Turnkey the @turnkey/wallet-stamper in your app

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.

with-uniswap.mp4

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).

homepage screenshot

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.

homepage screenshot

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.

homepage screenshot

See https://github.com/tkhq/demo-viem-passkeys for the code.

React Native Passkey App (code)

A simple React Native app that demonstrates sign up and sign in with passkeys, as well as Email Auth support.

passkeyapp_demo.mp4

See https://github.com/tkhq/passkeyapp for the code.