TRANSACTION_EXPIRATION_ERROR: the TRON transaction expired

Every TRON transaction carries an expiration time set when it is built; a node refuses it once that time has passed. TronWeb sets it about a minute ahead by default, so a transaction signed and broadcast later — after a slow approval, a queue or a retry from storage — expires.

Nothing was charged. Build, sign and broadcast the transaction again in one go, or set a later expiration before signing.

Expired transactions

SituationFix
Signed long before broadcastBuild and sign right before sending
Retried an old signed transactionRebuild it; a stale transaction cannot be revived
Needs a long approval (multi-signature)Set a later expiration before the first signature

TRON network rules as of 2026-10-01.

FAQ

Can I change the expiration after signing?

No. Any change to the transaction invalidates its signatures; set the expiration before anyone signs.