How currencies work in Noxpay
Each currency code in Noxpay represents a specific currency and network pair — not just a token. USDT on Tron and USDT on Ethereum are treated as entirely separate currencies. They have separate balances, separate deposit addresses, and cannot be used interchangeably.
This means:
- Balances are tracked per code.
TRX_USDT_S2UZ and USDT_ERC20 are two distinct balance buckets, even though both are USDT.
- You cannot move funds between two codes that share the same underlying token but differ in network. A balance of USDT (TRX) cannot fund an operation that expects USDT (ERC-20).
- When creating a transaction or reading a response, always use the exact code for the network you intend to operate on.
Choose the currency code based on the network your counterparty supports, and make sure your configuration (Templates, whitelist entries, withdrawal addresses) consistently uses the same code throughout.
Supported currency codes
Where these codes appear
The code appears as-is in API responses under fields like currency_exit_received_code, currency_entry_paid_code, currency_receive_code, and deposit_currency. The corresponding display name appears in the _pretty_name or non-_code variant of the same field (e.g. currency_exit_received).
In the balance endpoint, the top-level keys of the balances object are the plain tickers — USDT, USDC, BTC, BRL — and the nested keys name the currency-and-network beneath each one (e.g. USDT TRC20).
Those balance keys are ledger account labels, not currency codes. They are configured per account and are not stable identifiers — never key your own storage on them, and never try to parse a code out of them. To filter or reconcile by code, use the statement endpoint’s account.currency, which returns the codes in the table above.