What each exchange API calls the same blockchain
Last updated 29 October 2026
Twelve swap providers, nine ways of naming the same five chains, and three that do not name them at all. Every mapping here was learned from a provider refusing a request rather than from its documentation — and refusals about the network are usually worded as though they were about the coin. The table is generated by the code that does the dispatching, so it cannot disagree with what actually goes on the wire.
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 behind this has ten separate tables rather than one shared one — an early attempt at a shared shortener fixed two providers and broke a third. One of the 18 providers this site carries is absent below, for a reason of its own: it holds no table, and sends candidate spellings until one is accepted.
What each provider wants
| Provider | Bitcoin | Tron | Ethereum | BNB Chain | Monero | Scheme |
|---|---|---|---|---|---|---|
| SideShift | BITCOIN | TRON | ETHEREUM | BSC | MONERO | feed names, uppercased |
| ChangeNOW | btc | trx | eth | bsc | monero | short forms, its own |
| SimpleSwap | btc | trx | eth | bsc | monero | short forms, common |
| StealthEX | mainnet | mainnet | mainnet | bsc | monero | short forms, native coin becomes mainnet |
| Swapuz | BTC | TRX | ETH | BSC | XMR | short forms, uppercased |
| PegasusSwap | BTC | TRX | ETH | BSC | XMR | its own short forms |
| Exolix | BTC | TRX | ETH | BSC | MONERO | short forms, uppercased |
| ETZ-Swap | BTC | TRX | ETH | BSC | MONERO | short forms, uppercased |
| Changelly | bitcoin | tron | ethereum | binance_smart_chain | monero | long names, spelled out |
| GhostSwap | — | — | — | — | — | coin and chain fused into the ticker |
| ChangeHero | — | — | — | — | — | coin and chain fused into the ticker |
| FixedFloat | — | — | — | — | — | no network at all — the ticker decides |
A dash is not an absence. The last three rows name the chain inside the ticker or do not name it at all, so what is shown for them is the thing actually sent for Tether on that chain — and where even that has no name, the dash means the question does not apply rather than that the chain is unsupported.
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. |
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 29 October 2026, across FixedFloat, GhostSwap, SideShift, Changelly, ChangeNOW, SimpleSwap and StealthEX. PegasusSwap is absent on purpose: its catalogue cannot be read without credentials, and nothing on this page is written from a provider’s documentation. It joins the table once its own API has refused something. 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 eighteen 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.