Transaction Trace Decoder
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Transaction Trace Decoder is a read-only developer tool that decodes transaction traces using a contract ABI. It reads the transaction hash, contract ABI (provided by the user), transaction receipt, transaction logs, call traces (if available), function signatures, event signatures, decoded input data, decoded output data, and previous decode records. The tool then produces a human-readable breakdown of the transaction, showing the function called, decoded input arguments, decoded output values, emitted events with their parameters, and any call traces. This helps developers understand what a transaction did, especially for complex contract interactions.
HOW TO USE
Connect your wallet via the built-in connector. Select the network where the transaction was executed. Enter the transaction hash and the contract ABI as a JSON array. The tool will read on-chain data and display a preview including: transaction hash, status (success/failed), function called, decoded input data, decoded output data, events emitted, a list of decoded logs with event names and parameters, call traces (simulated if not available), and previous decode records. No transaction is signed or sent—this is a read-only decode.
TECHNICAL MECHANISM
The tool uses ethers.js v5.7.2 to read transaction data and decode it using the provided ABI. It fetches the transaction receipt using `provider.getTransactionReceipt(txHash)` to get the status and logs. It fetches the transaction details using `provider.getTransaction(txHash)` to get the input data. The tool then uses `ethers.utils.Interface` to parse the ABI and decode the transaction data. For function calls, it uses `interface.parseTransaction({ data, value })` to decode the function name and arguments. If the exact ABI is not available, it attempts to match the function signature by checking the first 4 bytes of the input data against the ABI's function signatures. For logs, it iterates through the receipt logs and attempts to decode each using `interface.parseLog(log)`, displaying the event name and parameters. The tool also shows simulated call traces for demonstration purposes. All decoding is performed locally in the browser—no data is sent to any server, and no transaction is signed or sent.
WHAT IT CANNOT SEE
This tool cannot verify that the transaction trace is complete—it reads only what is available on-chain. It cannot detect if the ABI is incorrect—it relies on the user-provided ABI for decoding. It cannot guarantee that the decoded data is accurate—if the ABI does not match the contract, the decode will be incorrect. It cannot ensure that all events are captured—some logs may not be decodable with the provided ABI. It cannot validate that function signatures match the actual contract. It cannot detect if the transaction was reverted—it reads the status from the receipt. It cannot verify that the decode is reproducible. It cannot predict if the transaction trace will be available in the future.
PLEASE NOTE
This tool is EVM-only and works across all supported chains (Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, Avalanche). The decoding is performed locally—no data is transmitted. The tool provides a visual representation of the transaction but does not execute any tests or verify the contract. For accurate decoding, ensure the ABI matches the exact contract version and compiler output. Always verify decoded data against the contract's source code if possible.