Tx Doctor / TRON error library / Transaction failed (FAIL)
TRON error: Transaction failed (FAIL) (FAIL)
The virtual machine reported a generic failure before the contract could finish. It is the catch-all verdict: malformed calldata, an internal exception, or a sub-call that ran out of resources.
Why it happens
- The calldata (function selector plus arguments) was malformed for the contract's ABI.
- A nested call failed — for example an internal token transfer that itself reverted.
- The account calling the contract was not activated or had no bandwidth left.
- The contract is non-standard and traps the VM on edge cases.
How to fix it
- Rebuild the transaction from the official interface instead of reusing a raw payload.
- Check that the sending address holds a little TRX for bandwidth (or stake TRX for it).
- Try the same action with a slightly different amount — extreme values often hit VM edge cases.
- Report the hash to the dApp's support: FAIL without a revert message needs their logs to decode.
What it looks like in the wallet or explorer
receipt: FAIL · energy_usage_total 0 · fee 1.1 TRX (bandwidth)
Seeing this right now? Paste the transaction hash — the tool finds the chain and decodes what actually failed.
Diagnose my transaction