The transfer API automatically supports bridging stablecoins and swapping between stablecoins of the same peg. To bridge, specify aDocumentation Index
Fetch the complete documentation index at: https://docs.privy.io/llms.txt
Use this file to discover all available pages before exploring further.
destination.chain different from the source chain. To also swap the asset (e.g. USDC to USDT), specify a destination.asset.
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.
How it works
A cross-chain transfer creates two steps in the wallet action:- Source chain transaction — the wallet signs and broadcasts a deposit transaction to the bridge contract on the source chain.
- Bridge fill — the bridge provider detects the deposit and delivers tokens to the destination address on the destination chain.
succeeded once the fill is confirmed.
Usage
To bridge, includedestination.chain in the request body. To swap assets (e.g. USDC on Base → USDC on Ethereum is a bridge; USDC on Base → ETH on Base is a swap, which is not supported via the bridge path), include destination.asset.
- Node SDK
- REST API
Cross-asset bridge
To bridge and swap the asset in a single operation, specify bothdestination.chain and destination.asset. Both assets must be USD-backed stablecoins, or both must be the same native token.
Solana as source chain
Solana wallets can bridge to EVM chains. The transaction is signed by the wallet’s Solana key and submitted to the bridge contract on Solana.Supported routes
Cross-chain transfers are supported between the following chains:| Source chain | Supported destination chains |
|---|---|
| Ethereum | Base, Arbitrum, Polygon, Solana |
| Base | Ethereum, Arbitrum, Polygon, Solana |
| Arbitrum | Ethereum, Base, Polygon, Solana |
| Polygon | Ethereum, Base, Arbitrum, Solana |
| Solana | Ethereum, Base, Arbitrum, Polygon |
Limitations
Asset compatibility
Asset compatibility
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.
Custom tokens not supported
Custom tokens not supported
Cross-chain transfers are only supported for named assets (
usdc, usdt, usdg, eth, etc.).
Custom tokens specified via asset_address cannot be bridged.Solana as source chain not supported with exact_output
Solana as source chain not supported with exact_output
The
amount_type: 'exact_output' parameter is not supported for cross-chain transfers. Only
exact_input (the default) is supported — the source amount is fixed and the destination amount
varies based on bridge pricing and fees.Testnet support
Testnet support
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.Source and destination must be on the same network
Source and destination must be on the same network
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:pending— source chain transaction submitted; bridge fill in progress.succeeded— bridge fill confirmed on destination chain.failed— the bridge fill was not completed (e.g. insufficient liquidity, expired quote).
wallet_action.transfer.succeeded webhook event.

