Skip to main content

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

  1. Show estimated time — cross-chain transfers are slower than same-chain; manage user expectations
  2. Display the bridge protocol — users benefit from knowing which bridge is being used
  3. Handle stuck transactions — bridges can occasionally slow down; implement timeout alerts
  4. Prefer same-chain when possible — if both source and destination are on the same chain, use the Swap API instead
  5. Verify destination address format — ensure the address is valid for the destination chain (especially for Solana)
  6. Show fee breakdown — bridge fees vary significantly; transparency builds trust