> ## 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.

# Transfer

> Transfer tokens from a Privy wallet to a destination address using the transfer action API

The transfer [wallet action API](/wallets/actions/overview) 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](/wallets/actions/transfer/overview#native-bridging) and [converting between stablecoins of the same peg](/wallets/actions/transfer/overview#stablecoin-conversions). Wallets can execute transfers with a separate source asset/chain and a separate destination asset/chain.

<img src="https://mintcdn.com/privy-c2af3412/lRRqWrr3rYks690S/images/transfer-splash.png?fit=max&auto=format&n=lRRqWrr3rYks690S&q=85&s=5537b69702d293f62e82799b75a631c8" alt="images/transfer-splash.png" width="3686" height="2633" data-path="images/transfer-splash.png" />

<Tip>
  If your app has gas sponsorship configured, usage of the `/transfer` endpoint will be
  [gas-sponsored by default](/wallets/actions/overview#gas-management). There is no need to specify
  additional parameters for sponsorship.
</Tip>

## 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`     |

<Tip>
  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**](https://dashboard.privy.io/apps?page=settings\&tab=token-watchlist) section of the
  Privy Dashboard.
</Tip>

### Custom assets

Privy also supports transfers of custom ERC20/SPL tokens.

To configure these tokens, visit the [**Token watchlist**](https://dashboard.privy.io/apps?page=settings\&tab=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:

| 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`    |

<Info>
  To transfer on chains not listed above, use the [low-level RPC
  API](/wallets/using-wallets/ethereum/sign-a-message) to construct and send transactions directly.
</Info>

## 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   |

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.

<Info>
  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](mailto:sales@privy.io).
</Info>
