The transfer wallet action API sends tokens from a Privy wallet to a destination address. Instead of constructing blockchain transactions from scratch, the transfer action accepts a human-readable asset, amount, chain, and destination address — Privy handles the onchain complexity. The transfer API also natively handles bridging across chains and converting between stablecoins of the same peg. Wallets can execute transfers with a separate source asset/chain and a separate destination asset/chain.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.

Supported assets
The transfer API supports transferring all native tokens (ETH, SOL, POL) and all ERC20/SPL tokens (including stablecoins). When making a transfer request to the Privy API, you can either specify a well-known asset (e.g. USDC, USDT, USDB, EURC) or you can configure a custom ERC20/SPL (e.g. a custom-issued stablecoin).Well-known assets
Privy supports the following well-known assets natively on the chains where they are available.| Asset | API value |
|---|---|
| USDC | usdc |
| USDC.e | usdc_e |
| USDT | usdt |
| USDT0 | usdt0 |
| USDB | usdb |
| USDG | usdg |
| pathUSD | pathusd |
| EURC | eurc |
| ETH | eth |
| SOL | sol |
| POL | pol |
Custom assets
Privy also supports transfers of custom ERC20/SPL tokens. To configure these tokens, visit the Token watchlist tab of the Wallets page of the Dashboard to configure your token. Then, simply pass the asset’s address in thesource.asset_address parameter of your request to Privy to transfer it.
Supported chains
The/transfer API supports the following chains:
| Chain | CAIP-2 | API value |
|---|---|---|
| Ethereum | eip155:1 | ethereum |
| Base | eip155:8453 | base |
| Arbitrum | eip155:42161 | arbitrum |
| Polygon | eip155:137 | polygon |
| Tempo | eip155:4217 | tempo |
| Solana | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp | solana |
| Ethereum Sepolia | eip155:11155111 | ethereum_sepolia |
| Base Sepolia | eip155:84532 | base_sepolia |
| Arbitrum Sepolia | eip155:421614 | arbitrum_sepolia |
| Polygon Amoy | eip155:80002 | polygon_amoy |
| Tempo Moderato | eip155:42431 | tempo_moderato |
| Solana Devnet | solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 | solana_devnet |
To transfer on chains not listed above, use the low-level RPC
API to construct and send transactions directly.
Native bridging
Privy’s/transfer API supports natively bridging an asset (e.g. ETH, USDC) across the supported chains listed above. Supported routes include:
| Source chain | Supported destination chains |
|---|---|
| Ethereum | Base, Tempo, Arbitrum, Polygon, Solana, |
| Base | Tempo, Ethereum, Arbitrum, Polygon, Solana |
| Tempo | Base, Ethereum, Arbitrum, Polygon, Solana |
| Arbitrum | Tempo, Ethereum, Base, Polygon, Solana |
| Polygon | Tempo, Ethereum, Base, Arbitrum, Solana |
| Solana | Tempo, Ethereum, Base, Arbitrum, Polygon |
Stablecoin conversions
Privy’s/transfer API also supports converting between stablecoins of the same peg.
For instance, the transfer API supports setting different USD stablecoins (USDC, USDT, USDC.e, USDT0) as the source and destination currency. This enables you to hold balance in one stablecoin and payout in the preferred stablecoin or chain of your recipient.
Stablecoin conversions is subject to fees, slippage, and current liquidity conditions.
Native bridging and stablecoin conversions is only supported for well-known assets where Privy’s
bridging partners can provide sufficient liquidity. To extend these capabilities to a custom
asset, please reach out.

