When a transaction is marked "Fail" on BSCScan, the funds the sender intended to send are not deducted but remain in the sender’s wallet. However, the “Gas Fee” will still be deducted. Below are the scenarios in which your transaction might fail:


Out Of Gas:


When a transaction has failed due to “Out of Gas,” this means the gas limit set during the transaction is below the required gas (computational cost – see here) needed to perform the transaction. The value of the transaction does not leave your address, but the gas fee is deducted because of the computational cost incurred. You will need to reinitiate the transaction with an appropriate gas limit.  Wallet services will usually suggest a gas limit for your transactions. Alternatively, you can also look at similar/past transactions/contracts which have been successfully processed to find out the gas limit required.


Possible reasons for an “Out of Gas” error warning:

  • Insufficient amount of gas limit provided
  • If you are interacting with a Contract, the minimum amount of gas limit required is > 21,000 (try increasing your gas limit)
  • Contract execution exceeds the minimum gas limit required
  • Contract execution error occurred, but the VM execution continues until all of the gas limits are exhausted.
  • The gas price was set too low. The current minimum gas price is 15 gwei for a transaction on the BNB Smart Chain. But according to this article by Binance, 20 gwei seems like the safer choice.


A transaction that has failed due to this reason would look similar to this:



Reverted:


In the event of a transaction marked as "Reverted," the transaction did not execute and all state has been reverted to the state before the transaction. Occasionally, error messages or the exact reason why the transaction was reverted may also be included as defined in the contract.


An example of a transaction that has failed due to the Reverted error would be:



Bad Jump Destination:


In the event of "Bad Jump Destination," the errors are related to the nature of the contract. It may be a generic failure caused by technical elements in the code of the contract. Please contact the contract creator for further assistance.


Bad Instruction:


In the event of "Bad Instruction," the errors are related to the nature of the contract. It may be a generic failure caused by technical elements in the code of the contract. Please contact the contract creator for further assistance.


A possible reason for a Bad instruction error indicates a logical error during contract execution; if interacting with a Token Contract, it's possible that the tokens are not transferable yet.


BEP-20 Token Transfer might have Failed


The most common reasons an BEP-20 token transfer might have failed are:

  • The Token contract is locked (tokens are not transferable yet)
  • The sending from the account has an insufficient token balance
  • The Token contract does not emit a Transfer event even though the balance is deducted. (Not fully BEP-20 compliant)