NoHoldPay
Blockchains

TRON

Accept TRX and USDT-TRC20 on TRON mainnet and Nile testnet. Paste a single TRON address - no xpub, no HD derivation.

TRON is account-based. Paste a single address - TRON doesn't use HD derivation.

Networks

NetworkChain keyBlock timeFinalityMin invoice
TRONTRX~3sDPoS solidification (~3 min)$1.00
TRON Nile (testnet)TRX_NILE~3sDPoS solidification (~3 min)$0.10

TRON confirms when more than 70% of the 27 Super Representatives build on top of a block - typically about 3 minutes from broadcast.

NoHoldPay supports Nile only - Shasta is not supported.


Supported coins

ChainCoins
TRXTRX (native), USDT-TRC20
TRX_NILETRX (native), USDT-TRC20

NoHoldPay pins the official USDT-TRC20 contract per chain and only credits transfers from that contract. USDT-TRC20 transfers that revert (out of Energy, frozen address) are never credited.


Wallet setup

Paste a single TRON Base58Check address - 34 characters, starts with T. NoHoldPay validates the checksum and version byte before saving.

Do not paste an xpub, seed phrase, or custodial exchange deposit address.

Compatible wallets:

  • TronLink - required for CREATE2 onboarding (only wallet currently exposing TIP-712 typed-data signing)
  • Klever
  • TokenPocket
  • Ledger via TronLink

Open your wallet and copy the receive address (T...).

In NoHoldPay, go to Wallets -> Add wallet and pick TRX or TRX_NILE.
Paste the address.
TRON wallets use the CREATE2 forwarder.
Save, then complete the on-screen onboarding in TronLink.

CREATE2 forwarder (unique address per payment)

Every invoice gets a unique on-chain forwarder address, so there is nothing to disambiguate and the customer pays the quoted amount exactly. That matters most for USDT-TRC20 paid from an exchange, where the sending side often rounds. The platform sweeps to your treasury within minutes after solidification.

The wallet becomes payable only once the onboarding below is finished. Until then the chain stays out of the customer's picker.

Where your operator enables direct settlement, a connected-wallet payment (the customer connects TronLink and signs the transfer themselves) settles straight into your treasury in one transaction, with no forwarder sweep. It is customer-funded (they pay bandwidth or energy), not gasless. See Payment modes.

Forwarder addresses use the same Solady CWIA template as EVM - only the outer address derivation differs (TRON's 0x41 prefix vs EVM's 0xff).

One-time onboarding in TronLink:

Attest - the platform broadcasts the attest transaction. No cost to you.

Register Treasury - Prepare - the dashboard fetches the TIP-712 typed-data envelope.

Register Treasury - Submit - TronLink signs the typed-data with your control key.
Finalise - after solidification (~3 min), the wallet is ready.

TronLink is currently required because it is the only wallet that exposes the signTypedData method needed for the TIP-712 envelope. Other TRON wallets do not yet expose typed-data signing. Support will broaden as they add it.

Update TronLink if you see TRON_REGISTER_TREASURY_SIG_HIGH_S - older versions occasionally produced non-canonical signatures that on-chain ECDSA rejects.

Manual sweep

When a sweep gets stuck (stuck_needs_manual), the payment detail page shows a manual-sweep card. Connect TronLink, and the card opens a pre-built transaction covering the deploy and sweep for that forwarder. Sign it with your control key and the page broadcasts it - there is no calldata to copy.

Native TRX cannot reach stuck_needs_manual under normal operation - factory deploy auto-sweeps native TRX inline.


GasFree (TIP-712 PermitTransfer)

GasFree would let customers pay USDT-TRC20 without holding TRX for Energy - they sign a TIP-712 PermitTransfer and the relay broadcasts via JustLend's GasFree controller.

This mode is not yet available. It is blocked on JustLend service-provider onboarding.


How TRON differs from EVM

AspectEVMTRON
Wallet formatxpub or single addressSingle address only
Address0x + 40 hex (EIP-55)T... Base58Check
Native unitwei (10^18)sun (10^6)
Typed-dataEIP-712TIP-712
Gas modelSingle gas budgetEnergy + Bandwidth budgets
Customer USDT costPays ETH gasPays Energy/Bandwidth or burns 6-13 TRX ($2-4) per transfer

USDT-TRC20 freeze risk

Per BlockSec, roughly 84% of 2025 USDT freezes were on TRC-20 vs other chains. If Tether blacklists your address, NoHoldPay cannot recover the funds - you must contact Tether directly via their blacklist appeal process.

If freeze risk is a concern, consider USDC on Base or Polygon instead.


Testnet (TRX_NILE)

  • Explorer: nile.tronscan.org.
  • For current Nile faucet options, check the TRON developer documentation. Faucet endpoints rotate.

Test in TronLink by switching the network to Nile Testnet before signing.


Common errors

CodeWhen
TRON_ADDRESS_INVALIDBase58Check checksum or version byte invalid
TRON_HD_DEPRECATEDYou tried to paste an xpub - TRON is account-based
TRON_REGISTER_TREASURY_SIG_HIGH_SNon-canonical signature - update TronLink
TRON_REGISTER_TREASURY_NONCE_DRIFTOn-chain nonce moved between Prepare and Submit - re-run Prepare
TREASURY_IS_FORWARDERTreasury cannot be a NoHoldPay forwarder address
CONTROL_KEY_GAS_PATHOLOGICALSmart-contract wallet signature verification uses too much Energy
INFLIGHT_CAP_EXCEEDEDPer-merchant CREATE2 in-flight USD cap exceeded - contact support

See also

On this page