Writing

The name nobody had checked

31 October 2026

Providers do not agree on what to call a coin. Tether on Tron is usdttrc20 at one, usdt_trx at another, and USDT on a chain namedTRC20 at a third. Every mapping in this codebase was learned from a refusal.

So when USD Coin on Tron needed a name, the obvious one was written down:usdctrc20, by the same pattern that produces usdttrc20. It is not a name that provider has. Every order for USDC on Tron through them named a currency that does not exist.

The script that would have caught it

A script existed to verify every one of those mappings against the provider’s own catalogue. It had never been run. The comment above the table explained why: the key lives in the deployment, not on this machine.

The key was in the local environment file as well. The script took four seconds and found the fault immediately. The correct name is usdctrc, and their catalogue says so plainly: USD Coin, protocol TRC20, blockchain tron.

A check that is written and never run is a check that does not exist.This one had been sitting directly above the entry it would have caught.

The same mistake, four days apart

Two entries below the broken one is a note from the provider’s own desk, correcting an identical error: Tether on Ethereum is usdt20, notusdterc20. Their advice at the time was to read names off the catalogue and verify them by protocol, blockchain and contract address rather than build them from a pattern that works elsewhere.

That advice was written down, agreed with, and then the next entry was built from a pattern anyway. Knowing the rule and following it are different activities, and only one of them survives being busy.

A footnote worth having

The corrected name turns out to be disabled on their side. USDC on Tron will not route through them either way — but it now fails for a reason they state, rather than because we asked for something that was never there.

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.