Not enough TRX for the network fee
What you see — the transaction is rejected even though your USDT balance is fine, or a warning appears before you submit.
TRON charges its fees in TRX, and a wallet holding only USDT cannot pay them. Top up a small amount of TRX, or turn on the gas saver. See TRON fees and energy. This is a network fee, not a platform charge.
Wallet won't connect
What you see — you click a wallet, its unlock prompt opens, you close it, and nothing happens on the next click.
A locked extension answers a connection request by opening its unlock prompt and leaving the request queued. Asking again is refused outright — TronLink answers "DApp requests are too frequent" — because the first request is still sitting there.
What to do: open the wallet extension yourself, unlock it, and confirm the pending request there. The page connects on its own; you do not need to come back and click again.
Declined on screening
What you see — a persistent notice, sometimes with a risk score.
Your address did not clear screening, so no authorisation was issued and no transaction was attempted. Your funds never moved. Screening is automated and can produce false positives — use the support link in the notice, or write to @unitdefisupport on Telegram.
Not available in your region
The app checks regional availability before offering minting or redemption, and fails closed: if the check cannot be completed, access is denied rather than granted. The landing page and the dashboard stay open — reading published figures is not a transaction.
Contract errors
| Error | What it means |
|---|---|
InsufficientOutput | The operation would have delivered less than its floor and reverted instead of settling at a worse rate. |
PermitExpired | The authorisation's deadline passed before the transaction landed. Start over. |
InvalidAccountNonce | The authorisation was already used. Start over. |
ERC20InsufficientAllowance | The approve step did not complete. Re-run it. |
ERC20InsufficientBalance | The token balance is lower than the amount sent. |
EnforcedPause | The Minter is paused. Minting and redemption resume once it is unpaused. |
TransferFeeActive | USDT has a transfer fee switched on, and the Minter refuses to settle while it is. |
OUT_OF_ENERGY | Not a contract error: the transaction ran out of energy and the TRX spent on it is gone. Top up TRX or turn on the gas saver. |
Transaction failed on-chain
What you see — a red notice and a failed step in the progress dialog, with a link to the transaction on Tronscan.
The app does not stop at "sent". After every transaction it waits for the
network's verdict and reads the receipt, so a transaction that Tronscan marks as
REVERT or OUT_OF_ENERGY is reported as a failure, never as a success. When
the contract gave a reason, the notice names it — the table above explains each
one.
A reverted transaction exchanged nothing: your tokens stay where they were and only the network fee was spent.
Transaction confirmation timed out
The transaction was submitted but not confirmed within the window the app waits. It may still confirm. Check the address on Tronscan before resubmitting — a second submission can spend fees on an operation that already succeeded.
Amounts look wrong by a factor of a million
All three tokens use 6 decimals. If you are integrating directly, scale by
1e6: one UNIT is 1000000 base units. See
Contracts and addresses.