Cross-Chain Transfer Guide
This guide covers integrating the Zet Cross-Chain Transfer API to move tokens between different blockchains.Overview
Cross-chain transfers use Zet’s multi-chain routing infrastructure but are designed specifically for moving tokens from one chain to another, optionally converting to a different token on the destination chain.Supported chains
Source chains (send from)
Destination chains (send to)
You can also query supported chains dynamically via
GET /transfer/chains.Step 1: Get a transfer quote
Transfer 100 USDC from Base to Ethereum:Bridge + swap
Transfer USDC from Base and receive ETH on Ethereum:Quote response
Fee breakdown
Step 2: Execute the transfer
Custodial
Non-custodial
Step 3: Monitor completion
Cross-chain transfers take longer than same-chain operations because they involve bridge relay confirmation on the destination chain.
Listen for the
transfer.completed webhook:
Common patterns
Portfolio rebalancing
Move tokens between chains to rebalance a user’s portfolio:Multi-chain withdrawals
Let users withdraw to any supported chain:Best practices
- Show estimated time — cross-chain transfers are slower than same-chain; manage user expectations
- Display the bridge protocol — users benefit from knowing which bridge is being used
- Handle stuck transactions — bridges can occasionally slow down; implement timeout alerts
- Prefer same-chain when possible — if both source and destination are on the same chain, use the Swap API instead
- Verify destination address format — ensure the address is valid for the destination chain (especially for Solana)
- Show fee breakdown — bridge fees vary significantly; transparency builds trust
