Recommended: JavaScript SDK with React Hooks
For new React apps, we recommend the JavaScript SDK with React Hooks (
@dynamic-labs-sdk/react-hooks) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the React quickstart (JavaScript SDK) to get started.This guide is currently React only.
Dashboard Setup
1
Enable zkSync Chain
Navigate to the EVM section of your Dynamic Dashboard and toggle on a zkSync enabled chain, then click Save.
2
Configure Account Abstraction
Go to the Account Abstraction section and:
- Enter the optional
factoryAddress,paymasterAddressandsessionKeyAddress(if available) - Save the settings
- Enable the toggle next to the ZkSync section
3
Configure Smart Contract Wallet Distribution
Choose your SCW distribution strategy:Wallet Level Configuration:
- All Wallets: Issue SCWs to all connected wallets (requires custom UI handling)
- Embedded Wallets Only: Issue SCWs only to Dynamic’s embedded wallets
- All Users: Issue SCWs to all users (existing users get SCWs on next login)
- New Users Only: Issue SCWs only to newly registered users
For most applications, we recommend starting with Embedded Wallets Only and New Users Only to ensure a smooth rollout.
4
Configure Wallet Display Options
Choose how users interact with their wallets:
- Show Smart Wallet Only: Users interact directly with the smart wallet
- Show Smart Wallet & Signer: Users can switch between the smart wallet and signer