- Multiple funding sources: Connect wallets (MetaMask, Rabby) or exchanges (Binance)
- Cross-chain deposits: Automatic routing between different blockchain networks
- Real-time quotes: Live pricing and gas estimates
- Customizable theming: Full control over appearance and branding
- Transaction tracking: Real-time status updates with block explorer links

How it Works
The widget provides multiple deposit flows depending on the user’s preferred funding source:- Wallet Flow: Connect existing wallets and transfer tokens directly
- Exchange Flow: Link exchange accounts (Binance) for seamless withdrawals
- Card Deposits: Traditional payment methods (coming soon)
Integrate
1
Install the package
Install the widget:
2
API key
You can get an API key from the Developer Portal.
3
Basic implementation
Import and configure the widget.To enable Binance deposits, add the
enableExchange
configuration.Domain whitelisting required: Contact Enso support to whitelist your domain(s) before enabling exchange integration.
4
Setup Web3 providers
The widget requires Wagmi and React Query providers. Set up your app’s root component:
5
Theme customization
The widget accepts a complete Chakra UI v3
SystemConfig
for theming.For advanced theming, refer to the Chakra UI theming documentation.
Configuration Props
CheckoutConfig Properties
The following checkout config exists:Parameter | Type | Description | Required |
---|---|---|---|
apiKey | string | Your Enso API key | Yes |
tokenOut | string | Destination token address | Yes |
chainIdOut | number | Destination chain ID | Yes |
theme | WidgetTheme | Custom Chakra UI theme config | No |
enableExchange | SupportedExchanges[] | Enable exchange integrations (["binance"] ) | No |
CheckoutModalProps
TheCheckoutModal
expands CheckoutConfig
with modal-related properties and callbacks:
Parameter | Type | Description | Required |
---|---|---|---|
config | CheckoutConfig | Widget configuration object | Yes |
isActive | boolean | Controls modal visibility | Yes |
setIsActive | (active: boolean) => void | Modal state setter | Yes |
onClose | () => void | Close callback function | No |
Supported Networks
The widget supports deposits across all networks:- Ethereum (Chain ID: 1)
- Base (Chain ID: 8453)
- Arbitrum (Chain ID: 42161)
- Optimism (Chain ID: 10)
- Polygon (Chain ID: 137)
- Avalanche (Chain ID: 43114)
- BSC (Chain ID: 56)
- And many more
Learn more
Updated