# Currencies

A coin is named by its **token symbol**: `USDT_TRC20` is USDT on Tron,
`USDT_BEP20` is USDT on BNB Smart Chain, `BTC` is Bitcoin. Use the symbol in
a payment's `token` or `tokens` ([Create a payment](/docs/payments#create-a-payment));
case does not matter.

What your customers may pay with is the list below, narrowed to the tokens you
accept ([accepted tokens](/docs/account#accepted-tokens)).
[`GET /v1/tokens`](/docs/payments#list-tokens) returns that list for your
key's mode, with each token's network fee and minimum right now.

## Live mode

| Token | Network (`chain`) | Lowest minimum | Final after |
|---|---|---|---|
| `USDT_TRC20` | Tron (`tron`) | $1 | 20 blocks (about 1 min) |
| `TRX` | Tron (`tron`) | $1 | 20 blocks (about 1 min) |
| `ETH` | Ethereum (`ethereum`) | $5 | 12 blocks (about 3 min) |
| `USDT_ERC20` | Ethereum (`ethereum`) | $5 | 12 blocks (about 3 min) |
| `USDC_ERC20` | Ethereum (`ethereum`) | $5 | 12 blocks (about 3 min) |
| `BNB` | BNB Smart Chain (`bsc`) | $1 | 12 blocks (about 1 min) |
| `USDT_BEP20` | BNB Smart Chain (`bsc`) | $1 | 12 blocks (about 1 min) |
| `USDC_BEP20` | BNB Smart Chain (`bsc`) | $1 | 12 blocks (about 1 min) |
| `BTC` | Bitcoin (`bitcoin`) | $10 | 3 blocks (30 to 60 min) |
| `LTC` | Litecoin (`litecoin`) | $2 | 6 blocks (about 15 min) |
| `DOGE` | Dogecoin (`dogecoin`) | $1 | 6 blocks (about 6 min) |
| `XRP` | XRP Ledger (`xrp`) | $1 | 1 ledger (seconds) |

"Final after" is when a deposit counts as final: the payment moves from
`detecting` to `confirmed` once its deposits have that many confirmations.

**Prices.** Stablecoins (`USDT_*`, `USDC_*`) are priced at exactly $1. Every
other token is priced from live market data when the coin is set, and that
rate (`rate_locked`) holds for the payment's 15 minutes.

**Minimums.** The minimums above are each token's lowest. Unless your
customers pay the fees, a payment must also be worth twice the token's network
fee, which moves with the network. `min_usd` in `GET /v1/tokens` is the
minimum right now, and a payment under it is refused with
`400 minimum payment in … is $… right now (network fees)`. See
[Fees and settlement](/docs/settlement#minimums).

**Choosing.** Stablecoins on BNB Smart Chain cost cents to move. `USDT_TRC20`
is what most customers hold, but every Tron token transfer burns energy, so
its network fee is a few dollars. Ethereum's fee varies the most with how busy
the network is. The customer also pays their own wallet's fee to send.

**XRP** payments must carry their `destination_tag`
([XRP](/docs/payments#xrp)).

## Test mode

Test mode offers the same coins as live, `DOGE` included, with the same
minimums, network fees, fee notes, network names and confirmations, so your
integration moves to live unchanged.

No coins move in test mode, and no faucet is needed: a test payment is paid
by the outcome you [simulate](/docs/testing#simulate-a-payment), and payitgo
plays its deposits and confirmations in seconds.

Test deposit addresses on Tron, Ethereum, BNB Smart Chain, Dogecoin and XRP
look like live ones. Bitcoin and Litecoin ones are in the testnets' format
(they start with `m` or `n`), which real wallets refuse. Nothing watches a
test address: **never send real coins to one**
([Test mode](/docs/testing#never-send-real-coins-to-a-test-address)).
