Dynamic
Dynamic offers a suite of tools for effortless log in, wallet creation and user management. Designed for users. Built for developers.
Dynamic Documentation
Agent navigation guide: Use the Table of Contents to identify the right implementation type and subcategory, then jump to that section. Do not scan this file linearly — use the section headers to navigate. API Reference schemas are listed last; consult them only for type definitions.
Base URL:
https://www.dynamic.xyz/docs
Table of Contents
- Overview (112 pages) — Platform concepts, architecture, developer dashboard, and go-live checklist
- Recipes (51 pages) — Step-by-step integration recipes, frameworks, and how-tos
- React SDK (295 pages) — Components, hooks, wallets, authentication, and reference for React
- JavaScript SDK (174 pages) — Vanilla JS / framework-agnostic integration
- React Native SDK (143 pages) — Mobile integration for React Native
- Node.js SDK (109 pages) — Server-side Node.js SDK for EVM and SVM wallets
- Python SDK (10 pages) — Server-side Python SDK for EVM and SVM wallets
- Rust SDK (10 pages) — Server-side Rust SDK for EVM and SVM wallets (beta)
- Java SDK (18 pages) — Server-side Java SDK for EVM and SVM wallets (beta)
- Flutter SDK (59 pages) — Flutter/Dart integration
- Swift SDK (41 pages) — iOS/macOS Swift integration
- Kotlin SDK (39 pages) — Android Kotlin integration
- Unity SDK (23 pages) — Unity game engine integration
- CLI (7 pages) — Command-line tool for environment configuration and dashboard operations
- REST API Reference (958 pages) — Full REST API — admin endpoints, SDK endpoints, and schema types
Overview
Platform concepts, architecture, developer dashboard, and go-live checklist.
- Fireblocks Flow API guide — Implement payment, deposit, and withdrawal flows with raw HTTP calls to the Fireblocks Flow checkout endpoints.
- Fireblocks Flow JavaScript guide — End-to-end guide for completing a Fireblocks Flow checkout with the JavaScript SDK.
- Fireblocks Flow — Accept crypto deposits from any wallet or exchange. Settle in any token you choose.
- Go Live Checklist
- Rate Limit Policies — Dynamic rate limit policies
- Earn Overview — Put wallet balances to work with yield-generating vaults and lending markets built in partnership with Aave, Morpho, and Sentora
Access Control
- Access Lists — Allow or restrict access using lists of emails, wallet addresses, or other identifiers. Works with any SDK; scopes and UI customization are SDK-specific.
- Gates — Define rules that combine criteria such as access list membership or NFT/token ownership. Works with any SDK; scopes and UI are SDK-specific.
- Overview — Control who can use your app or parts of it using access lists and gates. Works with any integration; scopes require an SDK.
Agents
- Agent Payments — How agents can pay for API access automatically using HTTP 402 payment flows, with Dynamic server wallets and x402 or Tempo MPP.
- GoDaddy ANS (Agent Name Service) — Give your Dynamic-backed agents verifiable, human-readable identities by registering them in GoDaddy's Agent Name Service (ANS) — and verify the agents you transact with.
- Agents Overview — Wallet infrastructure for AI agents — autonomous agents with their own wallets, or agents acting on behalf of users.
Authentication
- Best Practices — Security and authentication best practices for Dynamic — JWT management, session configuration, MFA, CORS, and protecting your backend.
- Bring Your Own Auth — Use your own authentication provider with Dynamic. Exchange your JWT for a Dynamic session to access wallets, user management, and SDK features.
- Concepts — Core concepts in Dynamic authentication — Users, Sessions, Wallets, and Visitors.
- Cookie-based authentication — Use a secure, HttpOnly cookie instead of localStorage for Dynamic's JWT — how it works, setup steps, and verification checklist.
- Architecture / Flow — How authentication is performed between the client/end-user and Dynamic.
- Auth methods — Authentication methods provided by Dynamic — email, SMS, web3 wallets, social login, passkey — with links to SDK implementation guides.
- Protecting your servers — Use the Dynamic-issued JWT to protect your backend — Client / end-user ↔ Customer servers.
- Multi-Factor Authentication (MFA) — Overview of MFA in Dynamic — TOTP and Passkey methods, when MFA is triggered, and links to SDK implementation guides.
- Overview — What authentication and authorization mean with Dynamic, what methods are available, and how to choose between Dynamic Auth and Bring Your Own Auth.
- Revoking Sessions — How to end user sessions in Dynamic — client-side logout, server-side revocation via API, and webhook events.
- Step-Up Authentication — Require users to re-verify their identity before sensitive actions using elevated access tokens. Includes re-auth (email, SMS, social/OAuth, wallet) and MFA (passkey, TOTP, recovery codes).
- Tokens — Understanding Dynamic-issued JWTs — structure, claims, storage, verification keys, and how to verify tokens on your backend.
Developer Dashboard
- Admin Action Approvals — Require a second admin to approve sensitive dashboard actions before they take effect.
- Analytics
- API Token Permissions — Complete reference for API token permission scopes and their associated endpoints.
- End-User MFA — Configure Multi-Factor Authentication for your end users to secure account access and sensitive actions.
- General Settings
- Invite Members
- Dashboard MFA — Protect your Dynamic Dashboard (admin login) with Multi-Factor Authentication.
- Privacy Settings
- Projects vs Organizations
- Sandbox vs Live
- Security Settings
- Set Up SSO
- Test Accounts — Test Accounts allow you to log in with a static OTP
- SDK and API Keys
- Users & Visitors
- Event Delivery & Best Practices
- Webhook Events
- On-chain events — Track transaction activity across EVM and SVM networks
- Webhooks Overview
- Setting up Webhooks
Introduction
- Welcome — Dynamic provides one complete wallet stack. Build your way — from low-level APIs to full SDKs. Use primitives for full control or prebuilt flows to ship fast. Get sub-second signing and enterprise-grade security.
Migrations
- 2026_01_01
- Migrating from action-based MFA to step-up authentication
- Upgrading the API to 2026_04_01
- Migrating to Dynamic
- Migrating Users via CSV
- Migration from RainbowKit
Security
- Content Security Policy (CSP) — Configure a strict Content Security Policy with Dynamic's SDK using nonce-based inline styles.
- Device Registration — Protect your users from account takeovers and phishing attacks by verifying new devices before granting access.
- Overview
- Best Practices
- Mitigating Attack Vectors
Social Providers
- Apple
- Coinbase
- Discord
- Epic Games
- Farcaster
- Github
- Kraken
- LINE
- Social Providers Overview
- Shopify
- Spotify
- Telegram
- TikTok
- Twitch
- Twitter/X
Troubleshooting
- Store Approval Issues
- Dynamic Doctor
- Email OTP delivery — Troubleshooting delayed or missing email OTP codes
- Initial Steps
- Generating a HAR file — Learn how to generate a HAR file to help troubleshoot issues with Dynamic
- Wallet is redirecting to the App Store
- Hydration failed because initial UI does not match what was rendered on the server
- FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed
- Module not found: Can't resolve 'encoding'
- Cannot convert a BigInt value to a number
- Cannot resolve rpc-websockets
- Failed to parse source map warnings
- Input Cannot Be Focused
- Jest Error: SyntaxError: Cannot use import statement outside a module
- Modal pop up isn't visible
- Vite.js polyfills necessary for Dynamic SDK
- Vite.js - Starknet module export error
- Can't resolve 'crypto
- TypeScript Compilation Errors
- WalletConnect Unsupported Chain
Wallets
- Advanced Options — Advanced options for our embedded wallets
- Architecture & Cryptography
- MPC Configuration Guide — Available threshold signature schemes for MPC wallets
- Delegated Access Setup — Enable delegated access and configure your webhook endpoint and encryption keys.
- Delegated Access Overview — What delegated access is and how it works at a high level.
- MPC Fundamentals and Glossary — Core concepts and terminology behind Multi-Party Computation (MPC) and Threshold Signature Schemes (TSS)
- Glossary of Terms
- Google Drive Backup
- How MPC Shares Work
- iCloud backup setup
- Overview
- Policies & Rules — Control wallet interactions with fine-grained, tamper-resistant rules across EVM, Solana, and Stellar.
- Pre-generating wallets — Create embedded wallets for users before they authenticate
- Why MPC Matters — Understanding the benefits and advantages of Multi-Party Computation for embedded wallets
- Wallets Overview
Wallets And Chains
- Using chains with Tier 2 support — Embedded wallets via raw signing with helper methods and EOA support
- Chains Overview
- Using chains with Tier 3 support — Embedded wallet derivation only
- External Wallets — Wallets supported by Dynamic across chains, connection standards, and how to add your own
Recipes
Step-by-step integration recipes, frameworks, and how-tos.
- Recipes Introduction — Ready-to-use integrations and tutorials to help you build faster with Dynamic
- Add new users to your CRM
- Webhooks using a serverless function
- Verifying webhook message signatures
- Slack notifications of new signups — Post in a slack channel when you have a new signup
- Send new users an XMTP message
Chains
- Enable Authentication, Onboarding, and Wallets on Flow — A guide to integrating Dynamic for user authentication, onboarding, and embedded wallets on Flow L1 and Flow EVM.
- Linera Integration with Dynamic — A guide to integrating Dynamic for user authentication, onboarding, and embedded wallets on Linera's real-time Web3 platform.
Frameworks
- Using Anchor with Dynamic — Learn how to connect Solana's Anchor framework to Dynamic's wallet SDK in a React app.
- NextAuth & Dynamic
- Dynamic in PWA
- Testing Your Next.js App with Dynamic Labs SDK — Learn how to set up Jest testing for Next.js applications using Dynamic Labs SDK, including mocking components and hooks.
- Create-web3-dapp & Dynamic
Integrations
- How to use Dynamic with Particle Network's EIP-7702 Universal Account — Pair Dynamic embedded wallets (WaaS) with Particle Universal Accounts in EIP-7702 mode: sign delegations and inline authorizations when JSON-RPC wallets cannot.
- Generate an multi-chain embedded wallet from a Farcaster frame
- Farcaster Overview
- Enable Write Access to Farcaster
- Building Mini Apps with Dynamic — Learn how to integrate wallet functionality into Farcaster mini apps using Dynamic
- Sign in with Farcaster
- Hyperliquid agent wallets — Use Dynamic's Node SDK to create MPC master wallets and manage agent wallets (API wallets) for automated, programmatic trading on Hyperliquid
- Hyperliquid SDK Integration
- Crypto to fiat onramp and offramp with Iron and Dynamic — Learn how to integrate Iron Finance with Dynamic's JS SDK embedded wallets to let users onramp fiat to crypto and offramp stablecoins to fiat via SEPA
- USDC to cash offramp with MoneyGram and Dynamic — Learn how to integrate MoneyGram Ramps with Dynamic's JS SDK embedded wallets to let users convert USDC to cash across Base, Ethereum, and Solana.
- Omnibus Sweep (Node.js) — Create customer wallets, mint USDC gaslessly, and sweep balances to an omnibus account using Dynamic's Node SDK and Pimlico on Base Sepolia
- How to use Dynamic with Particle Network's EIP-7702 Universal Account — Pair Dynamic embedded wallets (WaaS) with Particle Universal Accounts in EIP-7702 mode: sign delegations and inline authorizations when JSON-RPC wallets cannot.
- Build a prediction market trading app with Kalshi — Learn how to integrate Kalshi prediction markets with Dynamic's embedded wallets for seamless trading on Solana
- Build a prediction market trading app with Polymarket — Learn how to integrate Polymarket prediction markets with Dynamic's embedded wallets for seamless trading
- How to Use Dynamic in a Safe App
- Transaction Protection with Shield3
- Circle USDC Gateway with embedded wallets — Learn how to integrate Circle USDC Gateway with Dynamic's MPC embedded wallets for USDC transfers across domains
- Cross-chain swaps with LI.FI — Learn how to integrate LI.FI's cross-chain bridge aggregator with Dynamic's MPC embedded wallets for seamless multi-chain token swaps
- Cross-chain swaps with Mayan — Learn how to integrate Mayan's cross-chain bridge with Dynamic's JS SDK embedded wallets for EVM-to-any-chain token swaps
- Token swaps via API — Swap tokens across chains or within the same chain using Dynamic's Swap API — no SDK or frontend required
- Telegram Auto-Wallets
- Telegram Mini App
- Telegram Bot using server wallets — Learn how to create and integrate Telegram bots with Dynamic's server wallets
- Machine Payments on Tempo (Node.js) — Create a server wallet, fund it via Tempo's testnet faucet, and make MPP payments to 402-protected APIs using Dynamic's Node SDK and mppx
- Build a Complete World Mini App with Dynamic — Integrate Dynamic's wallet management and authentication in World Mini Apps with cross-wallet transfers.
- Using Dynamic with x402 — Learn how to implement x402 payments using Dynamic's embedded wallets, server wallets, and external wallet adapters
- Overview — How HTTP 402 pay-per-request flows work with Dynamic, and how to choose an integration path
- Aave lending markets — Let users supply stablecoins to earn yield and borrow against their balance using Aave V3
- Kamino yield vaults — Let users deposit stablecoins into Kamino Earn vaults on Solana to earn yield automatically
- Morpho yield vaults — Let users deposit stablecoins into curated Morpho vaults managed by Sentora and Galaxy to earn yield
- Earn yield on stablecoins with Deframe Pods — Learn how to integrate Deframe Pods yield strategies with Dynamic's embedded wallets for stablecoin yield earning
Stablecoins
- Buying USDC
- Building with Stablecoin Accounts — Launch global stablecoin accounts in days, not months. All with enterprise-grade security and the speed your users deserve.
- Receiving USDC
- Sending USDC (React Version) — Learn how to send USDC tokens from your Dynamic embedded wallet on EVM chains
- Virtual Debit Cards Powered by Stablecoins — Issue virtual Visa debit cards funded by USDC using Dynamic embedded wallets, account abstraction, and the Rain Card API.
- Send USDC to Your Friend - Whether They Have a Wallet or Not (React Native Version) — Learn how to enable users to send USDC to others using email addresses or phone numbers, even if the recipient doesn't have a wallet yet
- Send USDC to Your Friend - Whether They Have a Wallet or Not (React Version) — Learn how to enable users to send USDC to others using email addresses or phone numbers, even if the recipient doesn't have a wallet yet
React SDK
Components, hooks, wallets, authentication, and reference for React.
Authentication Methods
- Adding Captcha Protection
- Cookie-based authentication — Configure the React SDK to use cookie-based authentication with a custom API base URL.
- Device Registration — Verify new devices and manage trusted devices for your users.
- Authenticate with Email
- Authenticate with an external JWT — Sign users into Dynamic with a JWT issued by your own authentication provider.
- Authenticate with External Wallets
- Authentication screens
- MFA Enrollment
- Action-Based MFA
- MFA Device Management — How to delete user MFA devices and perform admin resets.
- MFA Overview
- Authenticate with Passkey
- Authenticate with SMS
- Authenticate with Social
- External Auth Step-Up — Request elevated access tokens using your own backend's signed JWTs with the React SDK — no user interaction required.
- Step-Up Authentication — React SDK hooks and UI for step-up authentication — automatic prompts, headless verification, and Dynamic's built-in UI.
Building Bridges
- Bridge Widget — The
DynamicBridgeWidgetcomponent allows you to handle multi chain bridging - Build Multi-Chain Bridging with Custom UI — Build your own multi-chain bridging UI from scratch using Dynamic SDK hooks for bridging between any supported chains
Chains
Custom Fields
External Auth
- Using your own authentication provider
- Configuring your authentication provider
- Integrating your authentication provider with Dynamic
Gating
Global Wallets
- Create Your Own Global Wallet Package
- Custom Terms of Service and Privacy Policy (Global Wallets only)
- Export Global Wallet Key
- Global Identity
- Global Wallet Native API — Direct API for interacting with global wallets without SDK dependencies
- Gasless Transactions on zkSync Era for Global Wallets
- Sponsor Gas for Global Wallets
- Global Wallets Overview
- QR Scanning (Global Connectivity)
- Web3 Wallet Libraries
Money And Funding
- Coinbase Onramp (Apple Pay, No KYC) — Enable users to purchase up to $500 in cryptocurrency using Coinbase's Apple Pay Guest Checkout without KYC
- Customizing the Onramp Experience
- Default Onramp Experiences
- Coinbase
- Crypto.com Onramp
- Kraken
- Overview
- Fund from External Wallet
Reference
- Components Introduction
- DynamicBridgeWidget — The
DynamicBridgeWidgetcomponent allows you to handle multi chain bridging - DynamicConnectButton
- DynamicEmbeddedWidget
- DynamicMultiWalletPromptsWidget
- DynamicUserProfile
- DynamicWidget
- DynamicNav
- Dynamic Events
- Events Introduction
- onAuthFailure
- onAuthFlowCancel
- onAuthFlowClose
- onAuthFlowOpen
- onAuthInit
- onAuthSuccess
- onEmbeddedWalletCreated
- onLogout
- onOtpVerificationResult
- onSignedMessage
- onUserProfileUpdate
- onWalletAdded
- onWalletConnectionFailed
- onWalletRemoved
- onWalletTabSelected
- handleAuthenticatedUser
- handleConnectedWallet
- Handlers Introduction
- useDynamicWaas
- useEmbeddedReveal
- useGoogleDriveBackupReadiness
- useWalletBackup
- useWalletDelegation
- useWalletPassword
- useExchangeAccounts
- useFundWithWallet
- useOnramp
- useOpenFundingOptions
- usePayWithDynamic
- Hooks Introduction
- useEmbeddedWallet
- usePasskeyRecovery
- useUpgradeEmbeddedWallet
- useAuthenticateConnectedUser
- useAuthenticatePasskeyMFA
- useConnectWithOtp — Allow for email or sms OTP authentication
- useDeletePasskey
- useDeleteUserAccount
- useExternalAuth
- useGetMfaToken
- useIsLoggedIn
- useIsMfaRequiredForAction
- useOtpVerificationRequest
- usePromptMfaAuth
- useRefreshAuth
- useRefreshUser
- useRegisterPasskey
- useSignInWithPasskey
- useSocialAccounts
- useStepUpAuthentication
- useSyncMfaFlow
- useUserUpdateRequest — Programmatically update the user profile
- useDynamicContext — Dynamic's React Context which is set via DynamicContextProvider
- useDynamicEvents
- useDynamicModals
- useDynamicScopes
- useMultichainTokenBalances
- usePrivateTokenBalances
- useReinitialize
- useRpcProviders
- useSendBalance
- useSwitchNetwork
- useTokenBalances
- useTransactionSimulation — Use transaction simulation without Dynamic's UI
- useUpgradeToDynamicWaasFlow
- useSmartWallets
- useSwitchWallet
- useUserWallets — Get access to the current user/session wallets
- useWalletConnectorEvent
- useWalletItemActions
- useWalletOptions
- Iframe Integration
- SDK/User Loading States
- AccessDeniedCustomButton
- EvmNetwork
- EvmRpcProvider
- EvmRpcProviderMethods
- GenericNetwork
- LocaleResource
- NameService
- NativeCurrency
- PhoneData
- React Objects Introduction
- SocialProvider
- SolanaRpcProvider
- SolanaRpcProviderMethods
- JWT Payload
- UserProfile
- JwtVerifiedCredential
- SdkViews
- WalletOption
- Wallet
- WalletConnectConnector
- WalletConnector
- WalletsByChain
- DynamicContextProvider
- DynamicWagmiConnector — The
DynamicWagmiConnectorcomponent integrates your Dynamic project settings with Wagmi - Providers and Connectors Introduction
- React Quickstart
- Token Balances
- Upgrade SDK from V0 to V1
- Upgrade SDK from V1 to V2
- Upgrade SDK from V2 to V3
- Upgrade SDK from V3 to V4
- Using Ethers
- Using Wagmi
- getAuthToken
- getMinAuthToken
- getNetwork
- getOrMapViemChain
- isZeroDevConnector
- isAuthenticatedWithAWallet
- isLedgerSolanaWallet
- mergeNetworks
- overrideNetworkRpcUrl
- Utilities Introduction
Smart Wallets
- Gas Sponsorship Setup — Let your users forget about gas fees and focus on your app.
- Advanced Usage
- EVM Gas Sponsorship — Sponsor EVM transaction fees for your users with Dynamic's gas sponsorship feature for embedded wallets.
- Alchemy — This guide walks you through using Dynamic as the signer for Alchemy Smart Accounts (Light Account)
- Biconomy
- Circle
- Crossmint
- Gelato
- Metamask
- Pimlico
- Rhinestone — Integrate Dynamic signers with Rhinestone smart accounts.
- Safe
- zkSync
- SVM Gas Sponsorship — Automatically sponsor Solana transaction fees for your users with Dynamic's built-in gas sponsorship feature.
Users
- Accessing Users
- Account Deletion
- Check For Missing Info
- Displaying & Updating User Info
- Distinguishing Between Login Methods
- Email and Phone Verification
- Collecting Extra Information (Information Capture)
- Social Linking
- Verified Credentials
Using Our UI
- CSS Variables
- Custom CSS
- Themes & Settings
- Adapt Copy With Translations
- UI Customization Overview
- Figma Designs
- Customizing Signup/Login UI
- Customizing Terms of Service (ToS) & Privacy Policy (All Wallets)
- Inject Extra Content in Widget
- Design Techniques Tutorial
- Login Views Tutorial
- Wallet List Views Tutorial
- Adapt UI With Views
Wallets
- Creating Embedded Wallets (Legacy)
- Wallet Reveal and Unlinking (Legacy)
- Pre-generating Wallets — Create embedded wallets for users before they authenticate
- Creating Wallets
- Developer Actions — Use the delegated materials to act on behalf of the user.
- Delegation Flow — What happens when a user approves delegation and how to handle the webhook.
- Revoking Delegation
- Storage Best Practices — How to securely store delegated key shares and wallet API keys after decryption.
- Triggering Delegation — How to trigger delegation for a user.
- Personal Subdomains
- Google Drive backup setup — Configure Google Drive as a backup option for embedded wallet recovery
- Importing & Exporting Embedded Wallets
- Password encryption — Add password protection to embedded wallets for enhanced security
- Policies & Rules — Control wallet interactions with fine-grained, tamper-resistant rules across EVM, Solana, and Stellar.
- Recovering an Embedded Wallet
- Setup Embedded Wallets
- Embedded Wallet Signing Configuration
- Upgrading to TSS-MPC (V3 Wallets)
- Block Addresses With Chainalysis
- Coinbase Smart Wallet
- Connected vs Authenticated
- Custom Sign Message
- External Wallets Overview
- Multiple Wallet Connections (Multi-Wallet)
- Phantom Redirect
- Recommend Wallets at Signup
- Sort and Filter Wallets
- Accessing Connected Wallets
- Using Aleo wallets
- Bitcoin Wallets
- Create a Partially Signed Bitcoin Transaction (PSBT)
- Send Bitcoin
- Send a raw transaction
- Sign a message
- Sign a Partially Signed Bitcoin Transaction (PSBT) - Embedded Wallets
- Sign a Partially Signed Bitcoin Transaction (PSBT)
- Cosmos Wallets
- Configure Viem's WalletClient — Modify Viem's WalletClient to your unique needs.
- EIP-5792 — Learn how to use EIP-5792
- Estimate Gas
- Get balance for all wallets — In this example, we will get the balance for each connected wallet.
- Fetch Balance
- Raw Signing (EVM)
- Mint an NFT on EVM with Wagmi
- Send a transaction on Ethereum/EVM
- Sign a message in Ethereum/EVM
- Sign a transaction on Ethereum/EVM — Sign an EVM transaction without broadcasting it to the network.
- Sign Typed Data in Ethereum/EVM — Use the Viem SignTypedData method for EIP-712 data.
- Using EVM Wallets
- Validate Signatures
- Display Networks
- Fetch External Wallets to Connect
- Fetch Token Balances
- Fetch wallet transactions
- Link/Unlink a Wallet
- Multi Asset UI
- Send Assets
- Fetch Balance
- Switch user's wallet
- Track Wallet Events/Changes — Listen for wallet lifecycle events to keep your UI in sync.
- Gasless Transactions on Solana with a Fee Payer
- Send Solana Legacy Transaction
- Send a Versioned Solana Transaction
- Tips for transactions with Solana embedded wallets
- Using Solana Wallets
- Sponsored Transactions on Solana with a Relayer
- Spark Wallet Integration Guide — Step-by-step guide for integrating your Spark wallet with Dynamic
- Spark Wallets
- Using Stellar wallets
- Gasless Transactions on Sui — Learn how to send Sui transactions without making users pay gas fees.
- Send A Sui Transaction
- Sui Wallets
- Batch Transactions
- Gasless Transactions
- Parallel Transactions
- Send a Transaction
- Sign a Message
- Tempo Wallets
- TIP-20 Transfers
- Generate TON Connect Proof
- Send Jettons
- Send a Raw Transaction
- Send TON
- TON Wallets
- Tron Wallet Integration Guide — Step-by-step guide for integrating your Tron wallet with Dynamic using TronWallet Adapter
- Tron Wallets
JavaScript SDK
Vanilla JS / framework-agnostic integration.
Authentication Methods
- Adding Captcha Protection
- Cookie-based authentication — Configure the JavaScript SDK to use cookie-based authentication with a custom API base URL.
- Device Registration — Verify new devices and manage trusted devices for your users.
- Authenticate with Email
- Authenticate with an external JWT — Sign users into Dynamic with a JWT issued by your own authentication provider.
- Authenticate with External Wallets
- Authentication screens
- Check Recovery Codes Acknowledgment
- Check MFA Authentication Status
- Check Onboarding Completion
- MFA Enrollment
- Action-Based MFA
- MFA Device Management — How to delete user MFA devices and perform admin resets.
- MFA Overview
- Passkeys
- Recovery Codes
- Session-Based MFA
- Authenticator Apps
- Authenticate with Passkey
- Refresh Authentication
- Refresh User Data
- Authenticate with SMS
- Social Account Linking — Link and unlink social accounts (Google, Apple, Twitter, etc.) on an authenticated user.
- Authenticate with Social
- External Auth Step-Up — Request elevated access tokens using your own backend's signed JWTs — no user interaction required.
- Step-Up Authentication — Headless step-up authentication using the JavaScript SDK — check, verify, and the SDK handles the rest.
External Auth
- Using your own authentication provider
- Configuring your authentication provider
- Integrating your authentication provider with Dynamic
Reference
- Adding Extensions — Add chain wallet and addon support to your Dynamic client with extensions
- Adding Aptos Extensions — Add Aptos blockchain support to your Dynamic client
- Checking Aptos Wallet Account Type
- getAptosClient
- signAndSubmitTransaction (Aptos)
- signTransaction (Aptos)
- Adding Bitcoin Extensions — Add Bitcoin blockchain support to your Dynamic client
- Checking Bitcoin Wallet Account Type
- sendBitcoin
- sendRawTransaction
- signMessageWithCustomOptions
- signPsbt
- signPsbts
- addCoinbaseOnrampOrderEventListener
- attachCheckoutTransactionSource
- canConnectWithHardwareWallet — Check if a wallet provider supports a given hardware wallet vendor
- cancelCheckoutTransaction
- createCheckoutTransaction
- createCoinbaseOnrampOrder
- createCryptoDotComPayment
- Creating a Dynamic Client — The first step in using the JavaScript SDK is to create a Dynamic Client
- createKrakenExchangeTransfer
- Delete User Account — Permanently delete the current user's account.
- Distinguishing Login Methods — Determine how the user authenticated by inspecting their verified credentials.
- Events Catalog — Full reference of events emitted by the Dynamic JavaScript client, including payload shapes.
- executeSwapTransaction
- getCheckoutTransactionQuote
- getCheckoutTransaction
- getCoinbaseBuyUrl
- getKrakenAccounts
- getKrakenWhitelistedAddresses
- getMissingVerificationForCoinbaseOnrampOrder
- getMoonPayCurrencies
- getMoonPayUrl
- getSwapQuote
- getSwapStatus
- Initializing the Dynamic Client
- isHardwareWalletAccount — Check if a wallet account was connected via a hardware wallet
- JWT Scopes & Access Lists — Read access list / gate scopes from the user's JWT to gate parts of your app.
- Kraken Integration — Transfer crypto from Kraken exchange accounts to external wallets
- offEvent
- onEvent
- submitCheckoutTransaction
- Adding EVM Extensions — Add one or more EVM extensions to support embedded wallets and external wallets on EVM chains
- calculateEvmTransactionFee — Estimate the gas fee for an EVM transaction
- Checking EVM Wallet Account Type
- EIP-5792 (Batched Calls) — Use wallet_getCapabilities and wallet_sendCalls to batch and sponsor EVM transactions.
- EVM Gas Sponsorship — Sponsor EVM transaction fees for your users with Dynamic's built-in gas sponsorship feature.
- Getting a Viem PublicClient
- Getting a Viem WalletClient
- isEvmGasSponsorshipEnabled — Check if EVM gas sponsorship is enabled for your project.
- Sign a Transaction — Sign an EVM transaction without broadcasting it to the network.
- Sign Typed Data (EIP-712) — Sign EIP-712 typed data with an EVM wallet account using a Viem WalletClient.
- simulateEvmTransaction — Preview an EVM transaction's effects before sending it
- Validate Signatures — Verify EIP-191, EIP-712, ERC-1271, and EIP-6492 signatures produced by Dynamic wallets.
- Network Transformers — Customize network configuration before it's used throughout the SDK
- JavaScript Quickstart
- React Hooks — Reactive bindings for the Dynamic JavaScript SDK — useUser, useWalletAccounts, useEvent, and more.
- React Quickstart (JS SDK)
- Adding Solana Extensions — To interact with the Solana wallets, you need to add the appropriate extensions
- calculateSolanaTransactionFee — Estimate the fee for a Solana transaction
- Checking Solana Wallet Account Type
- Solana Connection
- isSolanaGasSponsorshipEnabled — Check if SVM gas sponsorship is enabled for your project.
- addPhantomRedirectSolanaExtension — Enable Phantom wallet support via deep link redirect on mobile
- Signing and Sending Transactions with Solana
- simulateSolanaTransaction — Preview a Solana transaction's effects before sending it
- SVM Gas Sponsorship — Sponsor Solana transaction fees for your users with Dynamic's built-in gas sponsorship feature.
- Adding Starknet Extension — Add Starknet blockchain support to your Dynamic client
- Checking Starknet Wallet Account Type
- getStarknetAccount
- Adding Sui Extensions — Add Sui blockchain support to your Dynamic client
- Checking Sui Wallet Account Type
- getSuiClient
- signAndExecuteTransactionBlock (Sui)
- signAndExecuteTransaction (Sui)
- signTransactionBlock (Sui)
- signTransaction (Sui)
- Algorand — Derive Algorand addresses and sign transactions using Dynamic embedded wallets
- Aptos — Derive Aptos addresses and sign transactions using Dynamic embedded wallets
- Cardano — Derive Cardano addresses and sign transactions using Dynamic embedded wallets
- Cosmos — Derive Cosmos SDK chain addresses and sign transactions using Dynamic embedded wallets
- Mavryk — Derive Mavryk addresses and sign transactions using Dynamic embedded wallets
- NEAR — Derive NEAR addresses and sign transactions using Dynamic embedded wallets
- Using chains with Tier 2 and 3 support — Technical Overview — Embedded wallets via raw signing with helper methods and EOA support
- XRP (Ripple) — Derive XRP addresses and sign transactions using Dynamic embedded wallets
- Tron — Derive Tron addresses and sign transactions using Dynamic embedded wallets
- Adding TON Extensions — Add TON blockchain support to your Dynamic client
- Checking TON Wallet Account Type
- generateTonConnectProof
- sendJetton
- sendTon
- sendTransaction (TON)
- Adding Tron Extensions — Add Tron blockchain support to your Dynamic client
- Checking Tron Wallet Account Type
- getTronWeb
- sendTransaction (Tron)
- Checking if Dynamic WaaS is enabled
- Checking WaaS Wallet Account Type
- Creating WaaS Wallet Accounts
- Exporting WaaS Private Key
- getGoogleDriveBackupReadiness — Pre-flight readiness check for backing up MPC key shares to Google Drive
- Importing WaaS Private Key
- Password encryption — Add password protection to embedded wallets for enhanced security
- Adding a network
- Build a Wallet Picker — Render every wallet a user can connect to — installed, URI-based (deeplink + QR), in-app browser, and install-only — from a single SDK call.
- Checking Wallet Account Availability
- Connecting and Verifying a Wallet
- Getting Active Network
- Getting Available Wallets to Connect
- Get Balances for All Wallets — Use getMultichainTokenBalances to fetch token holdings across every connected wallet in a single API call.
- Getting Connected Addresses
- Getting Multichain Token Balances
- Getting Native Balance
- Getting Networks Data
- Getting Token Balances — Retrieve token balances for a wallet account on one chain (one or more networks).
- Getting Transaction History
- Getting the Wallet Account Given an Address and Chain
- Getting Wallet Accounts
- Get Wallet Options Catalogue — Get every wallet a user can sign in with — installed providers, WalletConnect, MetaMask SDK URI, in-app browsers, and install links — in a single ordered list.
- Hardware Wallet Support — Connect and verify Ledger hardware wallets via supported software wallets
- Removing a Wallet Account
- Signing a Message
- Switching Active Network
- Wallet Provider Events
- Authenticate with WalletConnect — Connect mobile wallets to your dapp - add extension, get wallet list, connect (QR or deep link), handle prompts
- Adding ZeroDev Extension — Add ZeroDev account abstraction support to your Dynamic client
- calculateFeeForUserOperation — Calculate the fee for a ZeroDev user operation from known gas values
- canSponsorUserOperation
- createKernelClientForWalletAccount
- estimateUserOperationGas
- EVM Gas Sponsorship Quickstart — Set up gasless EVM transactions so your app pays gas for users
- getSignerForSmartWalletAccount
- isGasSponsorshipError
- Migration Guide - v0.9.0 — Guide for migrating from transaction-based APIs to UserOperation APIs
- sendUserOperation
- signEip7702Authorization
- simulateZerodevUserOperation — Preview a ZeroDev user operation's effects before sending it
Wallets
- Developer Actions — Use the delegated materials to act on behalf of the user.
- Delegation Flow — What happens when a user approves delegation and how to handle the webhook.
- Revoking Delegation — How to revoke delegation using the JavaScript SDK.
- Triggering Delegation — How to trigger delegation for a user using the JavaScript SDK.
- Google Drive backup setup — Configure Google Drive as a backup option for embedded wallet recovery
React Native SDK
Mobile integration for React Native.
Authentication Methods
- Adding Captcha Protection
- Cookie-based authentication — Configure the React Native SDK to use cookie-based authentication with a custom API base URL.
- Device Registration — Verify new devices and manage trusted devices for your users.
- Authenticate with Email
- Authenticate with an external JWT — Sign users into Dynamic with a JWT issued by your own authentication provider.
- Authenticate with External Wallets
- Authentication screens
- MFA with Passkey (Hooks Only)
- MFA Enrollment
- Action-Based MFA
- MFA Device Management — How to delete user MFA devices and perform admin resets.
- MFA Overview
- Authenticate with Passkey
- Authenticate with SMS
- Authenticate with Social
- Step-up authentication — Require users to re-verify their identity before sensitive actions using elevated access tokens in the React Native SDK.
- Wait for Auth Success
Chains
- Adding Custom EVM Networks
- Enabling Chains & Networks
- Algorand — Derive Algorand addresses and sign transactions using Dynamic embedded wallets in React Native
- Aptos — Derive Aptos addresses and sign transactions using Dynamic embedded wallets in React Native
- Cardano — Derive Cardano addresses and sign transactions using Dynamic embedded wallets in React Native
- Cosmos — Derive Cosmos SDK chain addresses and sign transactions using Dynamic embedded wallets in React Native
- Mavryk — Derive Mavryk addresses and sign transactions using Dynamic embedded wallets in React Native
- NEAR — Derive NEAR addresses and sign transactions using Dynamic embedded wallets in React Native
- Using chains with Tier 2 and 3 support — React Native — Embedded wallets via raw signing with helper methods and EOA support
- XRP (Ripple) — Derive XRP addresses and sign transactions using Dynamic embedded wallets in React Native
- Tron — Derive Tron addresses and sign transactions using Dynamic embedded wallets in React Native
- Using Networks
Custom Fields
External Auth
- Using your own authentication provider
- Configuring your authentication provider
- Integrating your authentication provider with Dynamic
Gating
Global Wallets
- Create Your Own Global Wallet Package
- Custom Terms of Service and Privacy Policy (Global Wallets only)
- Export Global Wallet Key
- Global Identity
- Global Wallet Native API — Direct API for interacting with global wallets without SDK dependencies
- Global Wallets Overview
- QR Scanning (Global Connectivity)
- Web3 Wallet Libraries
Guides
- Using Anchor with Dynamic — Learn how to connect Solana's Anchor framework to Dynamic's wallet SDK in a React app.
- Hyperliquid SDK Integration
Reference
- Setting up the Dynamic Client
- Deeplink URLs — Set up and whitelist mobile deeplink URLs for your React Native app using Dynamic, with Expo configuration and testing steps.
- Listening to events
- Rendering client state to React
- Introduction to the React Native SDK
- client
- react-hooks
- react-native-extension
- solana-extension
- sui-extension
- viem-extension
- zero-dev-extension
- Polyfills
- React Native Quickstart
- Adding React Native support
- Passkey Authentication
- Authenticate with Email and SMS
- Integrate your own authentication provider
- Authenticate with Social
- Troubleshooting Common Issues
- Universal Links — Set up universal links (iOS) and App Links (Android) for your React Native app to enable features like device registration.
- Smart Wallets with ZeroDev (Account Abstraction)
- Embedded wallets
- Funding Options — Learn how to show and hide the funding options UI in your React Native application.
- Managing your User's Wallets
- Solana integration
- Sui integration
- Viem integration
- Adding Web support
Smart Wallets
- Gas Sponsorship Setup — Let your users forget about gas fees and focus on your app.
- EVM Gas Sponsorship — Sponsor EVM transaction fees for your users with Dynamic's gas sponsorship feature for embedded wallets.
- Metamask
- Rhinestone — Integrate Dynamic signers with Rhinestone smart accounts.
- SVM Gas Sponsorship — Automatically sponsor Solana transaction fees for your users with Dynamic's built-in gas sponsorship feature.
Users
- Accessing Users
- Check For Missing Info
- Check if User is Logged In
- Displaying & Updating User Info
- Distinguishing Between Login Methods
- Collecting Extra Information (Information Capture)
- Logout User
- Verified Credentials
Wallets
- Creating Embedded Wallets (Legacy)
- Wallet Reveal and Unlinking (Legacy)
- Pre-generating Wallets — Create embedded wallets for users before they authenticate
- Creating Wallets
- Developer Actions — Use the delegated materials to act on behalf of the user.
- Delegation Flow — What happens when a user approves delegation and how to handle the webhook.
- Revoking Delegation — How revocation works and how to handle the webhook and clean up on your server.
- Triggering Delegation — How to trigger delegation for a user in React Native.
- Personal Subdomains
- Importing & Exporting Embedded Wallets
- Password encryption — Add password protection to embedded wallets for enhanced security
- Policies & Rules — Control wallet interactions with fine-grained, tamper-resistant rules across EVM, Solana, and Stellar.
- Recovering an Embedded Wallet
- Setup Embedded Wallets
- Embedded Wallet Signing Configuration
- Upgrading to TSS-MPC (V3 Wallets)
- Block Addresses With Chainalysis
- Connected vs Authenticated
- External Wallets Overview
- Multiple Wallet Connections (Multi-Wallet)
- Phantom Redirect
- Accessing Connected Wallets
- Send Bitcoin — Transfer BTC using the high-level sendBitcoin method
- Sign and broadcast a PSBT — Build, sign, and broadcast Bitcoin PSBTs (BIP-174) from React Native
- [Using Bitcoin W
… [truncated — open the raw llms.txt above for the full file]
Automate transactions like real-time eligibility checks and claims processing with developer-friendly, JSON-based APIs that support thousands of payers.
Primev is building mev-commit, a credible commitment network for mev actors.
Mesh enables safer, easier crypto transfers and payments from 300+ leading exchanges and wallets, all without leaving your platform
Earn revenue today without delaying your roadmap. Payment processing for SaaS by SaaS.
FlowX.AI is redefining banking modernization with the first-ever unified, open, AI platform built to free banks from restrictive point solutions.
Markets, illuminated — World's largest provider of trading indicators for every market from stocks, crypto, and forex.