Before you can connect wallets or use chain-specific APIs, you add extensions to your Dynamic client. Each extension enables a different way to discover and connect wallets for a given chain. There are only two kinds of wallet: embedded (Dynamic-created, user-owned) and external (user brings their own, e.g. MetaMask, Phantom).Documentation Index
Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before this: create a Dynamic client (see Creating a Dynamic Client)Chains
Add the extension for each chain you support. You need at least one extension per chain.| Chain | Extension page |
|---|---|
| EVM (Ethereum, Polygon, Base, etc.) | Adding EVM Extensions |
| Solana | Adding Solana Extensions |
| Sui | Adding Sui Extension |
| TON | Adding TON Extension |
| Aptos | Adding Aptos Extension |
| Bitcoin | Adding Bitcoin Extension |
| Tron | Adding Tron Extension |
| Starknet | Adding Starknet Extension |
Addons
Addons extend a chain with extra capabilities (e.g. gas sponsorship). Add the chain extension first, then the addon.| Addon | Extends | Extension page |
|---|---|---|
| ZeroDev (gasless / sponsored transactions) | EVM | Adding ZeroDev Extension |
Order of setup
- Create your client - see Creating a Dynamic Client
- Add the extensions you need (e.g.
addEvmExtension(),addZerodevExtension()). - Initialize the client - see Initializing the Dynamic Client.
React: Add extensions in the same module where you create your client (e.g.
dynamicClient.ts), after createDynamicClient and before initializeClient. Since this module is imported once at app startup, the extensions are registered before any component renders.Next
- Initializing the Dynamic Client — Initialize after adding extensions.
- Connecting and Verifying a Wallet — Use the connected wallet in your app.