> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paj.cash/llms.txt
> Use this file to discover all available pages before exploring further.

# Supported chains

> Which chains each part of the API works on, and what to send on each.

Paj settles on seven chains: Solana, TON, and five EVM networks — Ethereum,
Base, BNB Smart Chain, Monad and Arc. Every request that moves tokens takes a
`chain`, and the value you send is the one in the `chain` column below.

Not every part of the API is open on every chain yet. The short version:

| Chain | `chain` | Onramp | Offramp order | Payment | Bank account address |
| - | - | :-: | :-: | :-: | :-: |
| Solana | `SOLANA` | ✓ | ✓ | ✓ | ✓ |
| TON | `TON` | ✓ | ✓ | — | — |
| Ethereum | `ETHEREUM` | ✓ | ✓ | ✓ | — |
| Base | `BASE` | ✓ | ✓ | ✓ | — |
| BNB Smart Chain | `BSC` | ✓ | ✓ | ✓ | — |
| Monad | `MONAD` | ✓ | ✓ | ✓ | — |
| Arc | `ARC` | ✓ | ✓ | ✓ | — |

<Note>
  `ZCASH` also appears in the `chain` enum in the API reference. It is not open
  for orders or payments yet — treat it as reserved.
</Note>

The [bank account address](/concepts/bank-account-addresses) is Solana only.
To pay a bank account from any other chain, open an [offramp
order](/api-reference/create-offramp-order) instead: you get a one-off funding
address on the chain you asked for, and the payout is the same.

## The settlement stablecoin

On each chain Paj settles in one stablecoin. That is the token an onramp
delivers without a swap, the one an offramp pays out without pricing, and the
one your fee (`businessUSDCFee`) is expressed in.

| Chain | Stablecoin | Mint / contract |
| - | - | - |
| `SOLANA` | USDC | `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` |
| `ETHEREUM` | USDC | `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48` |
| `BASE` | USDC | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` |
| `BSC` | USDC (Binance-Peg) | `0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d` |
| `MONAD` | USDC | `0x754704Bc059F8C67012fEd69BC8A327a5aafb603` |
| `ARC` | USDC | `0x3600000000000000000000000000000000000000` |
| `TON` | USDT | `EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs` |

Other tokens work too. An onramp for a different `mint` buys the stablecoin and
swaps it on-chain into what you asked for, delivering the swap's output straight
to `recipient`. An offramp in a different token is priced at its USD value when
the deposit lands. Either way the stablecoin is the cheapest and most
predictable path, because there is no swap or price in between.

Amounts in the API are always in whole tokens (`25` means 25 USDC), so the
differing decimals across chains — Binance-Peg USDC has 18, the rest have 6 —
never show up in your requests.

## Naming tokens and wallets

`mint` is the token's address on the chain you named: a Solana mint, an ERC-20
contract, or a TON jetton master. `recipient` is a wallet address in the same
chain's format.

Both are checked against the `chain` you named, so a Solana address on a `BASE`
order is a `400` rather than a lost transfer. What cannot be checked is which
EVM network a wallet is meant for — every EVM chain shares one format, so a
Base address is also a valid BNB Smart Chain address. Tokens are sent on the
`chain` you named; make sure the wallet can receive there.

## TON

TON has no native USDC, so USDT is the settlement stablecoin: a TON onramp for
USDT is delivered without a swap, and a USDT deposit to a TON offramp pays out
without pricing.

For Toncoin itself, set `mint` to `"TON"` rather than an address. Anything else
is a jetton, named by its **master** address — not the jetton wallet that holds
a user's balance, which is a different address for every holder.

TON addresses come in several spellings (bounceable `EQ…`, non-bounceable
`UQ…`, and raw `0:…`). Paj accepts any of them for `recipient` and `mint` and
treats them as the same account.

Each TON offramp order gets its own funding address, so no comment or memo is
needed on the transfer — send to the `address` on the order and that is enough.
TON deposits can take up to a minute to be picked up, a little longer than on
the other chains, because Paj waits for the transfer to be fully indexed before
settling it.

## Arc

Arc uses USDC as its gas token. The ERC-20 interface at
`0x3600000000000000000000000000000000000000` is the one to name as `mint`; it
reports USDC with 6 decimals, like everywhere else.

## EVM chains

The five EVM chains share one address format, and Paj's funding addresses can
exist on all of them at once. A funding address is only watched on the chain its
order or payment was opened for.

<Warning>
  Send on the chain the order names. Tokens sent to the right address on the
  wrong EVM chain arrive at an address Paj controls but are not recognised as
  paying the order, and recovering them is a manual process.
</Warning>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.