Writing

Nobody agrees what to call Tron

17 October 2026 · figures measured 17 October 2026

Integrating a swap provider sounds like plumbing. Ask for a price, send an amount, poll a status. The plumbing is the easy half. The hard half is that no two of them speak the same language, and the thing they disagree about most is the name of the chain the money is moving on.

Two providers were added here within about an hour of each other yesterday. They disagree.

One asset, four names

Take Tether on Tron — one of the most-moved assets in crypto, on one of its busiest chains. Here is what you must call that chain, by provider, to be understood:

ProviderUSDT on TronTRX itself
SwapgateTRC20TRX
SwapuzTRXTRX
EasyBitTRXTRX
ChangeHeroin the ticker: usdttrc20trx

Look at the first row for a second. Swapgate’s name for the chain depends on which coin is riding it. Tron is called TRX when you are moving Tron’s own coin and TRC20 when you are moving a token on it — so the network field is not really naming a network at all. It is naming a token standard, except when there is no token, in which case it names the coin.

The same provider calls BNB — the native coin of BNB Smart Chain, the asset the chain is named after — BEP20. Its own coin, labelled with its token standard. That is not a mistake on their part; it is a vocabulary that grew from whichever exchanges they connected to first, and it is perfectly consistent once you know it. You cannot know it by guessing.

ChangeHero takes a fourth position: it has no network parameter at all. The chain is folded into the ticker, so the asset is usdttrc20 and there is nothing to name separately. Reasonable, and incompatible with everyone else.

The refusal lies to you

If this only cost a lookup table it would be tedious rather than dangerous. What makes it dangerous is how it fails.

Ask a provider for a price on usdt over tron when it wanted trc20, and you do not get an error about the network. You get something like “currency usdt is not supported” — a refusal about the coin. The half of the question that was wrong is not the half the message names.

So the obvious conclusion is the wrong one: this provider has delisted Tether. You note it, you move on, and a pair quietly stops being quoted. This repository already carries the scar in a comment beside one of those tables, written after a fix that was expected to repair six providers and repaired five:

“Added to both tables at once, having just learned why one is not enough. Measured here specifically: it refuses ‘ripple’ and accepts ‘xrp’.”

What it costs

One file in this codebase now holds seven separate functions whose only job is translating the name of a chain into whatever a particular provider calls it, plus a shared table underneath them for the cases where several agree, plus two more tables for the provider whose answer depends on the asset.

None of that logic does anything. It moves no money, improves no price, and the user never sees it. It exists entirely because there is no registry of what a blockchain is called. Coins have had registered identifiers for years; chains, as named in the API of a service that moves assets across them, have nothing. Each provider grew a vocabulary from the venues it happened to integrate, and every one of those vocabularies is now load bearing.

The rule, which is boring and absolute

Read the catalogue. Never guess.

Both providers added yesterday publish a list of every asset they support with its chain beside it, and both lists were read before a line of either integration was written. It cost one request each. Assuming the second matched the first — which it did not, on exactly the asset most people move — would have cost an afternoon and produced a provider that silently failed on the busiest pair it supports.

A third provider is waiting on an API key as this is written, and its adapter is deliberately unfinished for the same reason. Its documentation makes the plumbing entirely clear and says nothing about chain spellings, because those live behind the key. So the plumbing is written and the vocabulary is not, and it will stay that way until the catalogue can be read. Guessing it into a hundred and fifty untestable lines would be the same mistake with less excuse.

Why you see the network everywhere on this site

There is a note in the front-end code, next to the small grey line that says ON TRON under the coin you picked:

“The network, always. USDT on Tron and USDT on Ethereum are different money, and this project lost a day to that distinction inside three separate provider APIs.”

That is why every field, every provider row and every quote here names the chain, even where it clutters the layout. Tether on Tron and Tether on Ethereum share a ticker, a price and a name, and are not the same asset. If twelve companies whose entire business is moving them cannot agree on what to call the difference, a person sending four figures somewhere deserves to be told which one they are holding.

Plan an exchange

Every figure above can be checked against the providers yourself — no account, no sign-up, and nothing is held for you at any point.