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 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. images/transfer-splash.png
If your app has gas sponsorship configured, usage of the /transfer endpoint will be gas-sponsored by default. There is no need to specify additional parameters for sponsorship.

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.
AssetAPI value
USDCusdc
USDC.eusdc_e
USDTusdt
USDT0usdt0
USDBusdb
USDGusdg
pathUSDpathusd
EURCeurc
ETHeth
SOLsol
POLpol
For the most up-to-date list of Privy’s well-known assets and the specific chains where they are available, visit the Token watchlist section of the Privy Dashboard.

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 the source.asset_address parameter of your request to Privy to transfer it.

Supported chains

The /transfer API supports the following chains:
ChainCAIP-2API value
Ethereumeip155:1ethereum
Baseeip155:8453base
Arbitrumeip155:42161arbitrum
Polygoneip155:137polygon
Tempoeip155:4217tempo
Solanasolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpsolana
Ethereum Sepoliaeip155:11155111ethereum_sepolia
Base Sepoliaeip155:84532base_sepolia
Arbitrum Sepoliaeip155:421614arbitrum_sepolia
Polygon Amoyeip155:80002polygon_amoy
Tempo Moderatoeip155:42431tempo_moderato
Solana Devnetsolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1solana_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 chainSupported destination chains
EthereumBase, Tempo, Arbitrum, Polygon, Solana,
BaseTempo, Ethereum, Arbitrum, Polygon, Solana
TempoBase, Ethereum, Arbitrum, Polygon, Solana
ArbitrumTempo, Ethereum, Base, Polygon, Solana
PolygonTempo, Ethereum, Base, Arbitrum, Solana
SolanaTempo, Ethereum, Base, Arbitrum, Polygon
Native bridging is subject to fees, slippage, and current liquidity conditions.

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.