# Supported chains and tokens

> The chains and tokens the Khalani API trades today, and how to read the live list.

`GET /v2/params` is the live source. Any listed token can be traded against any other, across chains or on the same chain. Pairs are not listed separately.

As of 19 October 2026 it lists:

| Chain | Chain id | Token | Contract | Decimals |
|---|---|---|---|---|
| Ethereum | 1 | USDC | `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48` | 6 |
| Ethereum | 1 | USDT | `0xdAC17F958D2ee523a2206206994597C13D831ec7` | 6 |
| Ethereum | 1 | USDG | `0xe343167631d89B6Ffc58B88d6b7fB0228795491D` | 6 |
| Arbitrum | 42161 | USDC | `0xaf88d065e77c8cC2239327C5EDb3A432268e5831` | 6 |
| Arbitrum | 42161 | USDT | `0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9` | 6 |
| Arbitrum | 42161 | USDG | `0x004B506865409877C9fA29bfb1ebA929984B9bbC` | 6 |
| Base | 8453 | USDC | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` | 6 |
| Polygon | 137 | USDC | `0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359` | 6 |
| Polygon | 137 | USDT | `0xc2132D05D31c914a87C6611C10748AEb04B58e8F` | 6 |
| Robinhood Chain | 4663 | USDG | `0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168` | 6 |
| TRON | 728126428 | USDT | `TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t` | 6 |

Volatile tokens are planned.

```bash
curl -s https://api.hyperstream.dev/v2/params -H "X-API-Key: $KHALANI_API_KEY" | jq '.tokens[] | {chainId, symbol, token}'
```

## Reading the list

- Decimals differ by chain, even for the same token, so read `decimals` from the list.
- A token without fee configuration is not quotable, so it is left out, not listed at zero. The list is the same for every integrator.
- The minimum trade size is not in the list, because it depends on solvers' current costs. Ask `GET /v2/quote`: a size below the minimum returns `400` with the `minSrcAmount` that works.

## TRON

TRON is the one non-EVM chain today, and it works differently on both sides of a trade:

- **As the source**, the build returns no transactions, only a deposit address and the exact amount to send there with an ordinary TRC-20 transfer. You must pass `refundAddr`.
- **As the destination**, you must pass `payoutAddr`.
- Every TRON recipient must be an activated account, one that has received TRX or a token before.

See [Build and deposit](/guides/build-and-deposit/#non-evm-source-tron-transfer-to-an-address).
