Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.privy.io/llms.txt

Use this file to discover all available pages before exploring further.

The transfer API automatically supports bridging assets across chains and converting between stablecoins of the same peg.
Cross-chain transfers are powered by Relay. Privy does not control bridge routing, fill times, or available liquidity. Transfer rates may differ from quoted estimates due to market conditions. These materials are for general information purposes only and are not investment advice.

Usage

To execute a transfer involving a bridge, specify a destination.chain different from source.chain. To execute a transfer involving a stablecoin conversion, specify a destination.asset different from source.asset. You can also combine both a bridge and a stablecoin conversion in the same transfer call.

Limitations

Cross-asset bridges are only supported between assets of the same economic category:
  • USD-backed stablecoins can be bridged to other USD-backed stablecoins (e.g. USDC → USDT, USDC → USDG).
  • Native tokens can only be bridged to the same native token on another chain (e.g. ETH on Base → ETH on Ethereum).
  • Cross-category swaps are not supported — native tokens cannot be exchanged for stablecoins via the bridge path. Use the swap API for token swaps on a single chain.
Cross-chain transfers are only supported for well-known assets (usdc, usdt, usdg, eth, etc.). Custom tokens specified via asset_address cannot be bridged.
The amount_type: 'exact_output' parameter is not supported for cross-chain transfers. Only exact_input (the default) is supported for cross-chain transfers; the source amount is fixed and the destination amount varies based on bridge pricing and fees.
Testnet bridging is available between base_sepolia and ethereum_sepolia. Other testnet cross-chain routes may have limited availability depending on the bridge provider’s testnet infrastructure.Testnet bridges are best-effort and may have slower fill times than mainnet.
Mainnet-to-testnet and testnet-to-mainnet bridges are not supported. The source and destination chains must both be mainnet or both be testnet.

Tracking a bridge transfer

Bridge transfers follow the standard wallet action lifecycle. The action status progresses:
  1. pending — source chain transaction submitted; bridge fill in progress.
  2. succeeded — bridge fill confirmed on destination chain.
  3. failed — the bridge fill was not completed (e.g. insufficient liquidity, expired quote).
Bridge fills typically complete within seconds on mainnet. During periods of high network activity, fills may take longer. To receive a notification when the bridge completes, listen for the wallet_action.transfer.succeeded webhook event.

API reference

See the API reference for the full parameter reference.