llms.txt
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 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
- MoonPay Onramp
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
- Upgrade SDK from V4 to V5
- 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 — 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.
- Google Drive backup setup — Configure Google Drive as a backup option for embedded wallet recovery
- Importing & Exporting Embedded Wallets
- Migrate from Fireblocks — Move an existing Fireblocks Non-Custodial Wallet (NCW) into a Dynamic embedded wallet in a single call.
- 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, Stellar, and Bitcoin.
- 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
- Aleo Embedded Wallets
- 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.
- Deploying and calling Midnight contracts
- Using Midnight embedded wallets
- Using Midnight external wallets
- 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