What each exchange API calls the same blockchain
Last updated 28 September 2026
Eight swap providers, eight ways of naming Bitcoin and Tron. Every mapping here was learned from a provider refusing a request, not from its documentation — and refusals about the network are usually worded as though they were about the coin.
The problem
A currency feed says bitcoin. A provider wants btc. Another wants BTC, a third mainnet, and a fourth wants the coin and the chain fused into one word. Send the wrong spelling and the answer is rarely “wrong network” — it is “Currency btc is not supported”, which reads as though the coin were the problem and sends you looking in the wrong place.
That is the whole difficulty. The names are not hard; the errors are misleading, and there is no single table anywhere that says which provider wants which. This is that table.
The source vocabulary is not consistent either
It would be convenient if feeds used long names and providers used short ones. They do not. The currency feed behind this app carries 48 distinct network names, and mixes both conventions in the same list:
| Style | Examples from one feed |
|---|---|
| Long | ethereum, solana, tron, stellar, cardano, bitcoincash |
| Short | bsc, avax, base, arbitrum, optimism, ton |
| Neither | robinhood, liquid, hyperevm, plasma |
So there is no single normalisation to apply before dispatch. Each provider needs its own translation, which is why the code below has six separate tables rather than one shared one — an early attempt at a shared shortener fixed two providers and broke a third.
What each provider wants
| Provider | Bitcoin | Tron (USDT) | BNB Chain | Scheme |
|---|---|---|---|---|
| SideShift | BITCOIN | TRON | BSC | feed names, uppercased |
| ChangeNOW | btc | trx | bsc | short forms, its own |
| SimpleSwap | btc | trx | bsc | short forms, common |
| StealthEX | mainnet | trx | bsc | short, native coin → mainnet |
| Changelly | bitcoin | tron | binance_smart_chain | long names, spelled out |
| LetsExchange | BTC | TRC20 | BEP20 | uppercase token standards |
| GhostSwap | btc | usdtrx | — | coin and chain fused |
| FixedFloat | BTC | USDT | — | no network at all |
Two of those need explaining, because they are not spelling differences but different models.
StealthEX: a native coin has no network
StealthEX takes a symbol and a network, but when the coin is its chain's own currency the network must be the literal word mainnet rather than the chain's name. Bitcoin on Bitcoin is btc + mainnet; USDT on Tron is usdt + trx.
The trap: the comparison has to happen after shortening. A coin arriving as btc on bitcoin is its chain's own currency just as much as btc on btc is — comparing the long name against the ticker misses that and sends the chain name where mainnet was required.
GhostSwap and Changelly: the chain is inside the ticker
Neither takes a network field for tokens. The chain is folded into the ticker itself, so USDT is a different coin depending where it lives:
| Coin and chain | GhostSwap | Changelly |
|---|---|---|
| USDT on Tron | usdtrx | usdtrx |
| USDT on Ethereum | usdt20 | usdt20 / usdterc20 |
| Bare ticker | usdt — refused | usdt — refused |
Changelly does not publish a table for this, and a hand-written one would be wrong the week they add a chain. The reliable approach is to read their own currency list and search it: exact ticker on the right chain first, then any ticker on that chain beginning with the one you want. That second rule is what turns usdt on Tron into usdtrx without knowing the suffix in advance.
Exceptions worth knowing
| Provider | Exception |
|---|---|
| SideShift | DOGE-DOGECOIN returns 400; DOGE-DOGE works. Eight other long names are fine, so this is one exception, not a vocabulary. |
| ChangeNOW | Its short forms are not the common ones: binance → bsc, avalanche → avaxc, optimism → op. |
| FixedFloat | Sends no network. A coin is identified by ticker alone, so ambiguous tokens cannot be addressed at all. |
| LetsExchange | Token standards, not chain names: TRC20 and BEP20 rather than tron and bsc. A native coin uses its own ticker — TRX, not TRC20. |
Privacy coins: the chain is the ticker
Monero and Zcash are the costliest entries on this page, because the obvious spelling is the wrong one and it fails quietly — not with a refusal, but with fewer providers answering. Asked for the same coin, the same amount, in the same minute:
| Coin | Network sent | Providers that quoted |
|---|---|---|
| Monero | xmr | Changelly, GhostSwap, ChangeNOW, StealthEX |
| Monero | monero | Changelly, GhostSwap |
| Monero | mainnet | Changelly, GhostSwap, StealthEX |
| Zcash | zec | Changelly, GhostSwap, ChangeNOW, StealthEX |
| Zcash | zcash | Changelly, GhostSwap |
Sending the chain's long name halves the field. ChangeNOW and StealthEX were never refusing Monero — they were refusing the word monero, and a comparison built on it reports a coin as barely supported when it is not.
The rule is the one Dogecoin already demonstrates in the exceptions above: where a chain carries a single coin, most providers name the chain after the ticker rather than after the chain. xmr and zec, not monero and zcash.
These counts are a reading rather than a constant. The same Monero request returned five providers twenty minutes before it returned four, so treat the spelling as the finding and the number as the weather.
Firo is listed by some services and quoted here by none, on any spelling. A coin no provider prices cannot be offered by routing to them — that would mean holding it, which is a different business from this one.
How these were found
Not from documentation. Each was a provider refusing a pair, in its own words, against a live API — which is why the refusal text matters as much as the mapping. A missing entry for bitcoin produced “Currency btc is not supported”. Adding litecoin to one table fixed two providers and left a third still refusing, because the tables are separate and a fix in one is not a fix in the others.
The lesson that cost the most: predicting which providers a change will fix, and then not measuring it. A shared shortener reaches only the providers that route through it.
Checked against
Live APIs, on 28 September 2026, across FixedFloat, GhostSwap, SideShift, Changelly, ChangeNOW, SimpleSwap, StealthEX and LetsExchange. Provider vocabularies change; if one of these is wrong now, it was right then, and a note through the feedback box is welcome.
This page exists because Crypto Train talks to all eight at once and had to reconcile them. The reconciliation is the interesting part; the product is elsewhere.
No account, no sign-up, and nothing is held here — your browser pays each provider directly.
Questions about any of this? The source is the authority — everything described here can be checked against it.