ABI 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
ABI Decoder is a developer tool that decodes Ethereum transaction calldata and event logs using a provided ABI. Enter a contract ABI (JSON array), the hex data to decode, and optionally an event name — the tool parses the data using the ABI and displays the decoded function or event name, parameter names, types, and values. It supports both calldata decoding (for transaction data) and event log decoding (for contract events). This is essential for developers debugging transactions, analyzing contract interactions, decoding event logs, or understanding what a contract call does.
HOW TO USE
Connect your wallet using the BGWallet bridge (MetaMask or any Web3 wallet). Select the mode: "Calldata (transaction data)" or "Event log." Enter the contract ABI as a JSON array — this defines the functions and events you want to decode. Enter the hex data (starting with 0x) — this is the calldata or event data you want to decode. For event mode, enter the event name (e.g., "Transfer"). Click "Decode" to perform the decoding. The tool displays the mode, status (success or failure), the decoded function or event name, and a detailed list of parameters with their names, types, and decoded values. For event logs, indexed parameters are marked with a 🏷️ badge. This is useful for understanding contract interactions and debugging transactions.
TECHNICAL MECHANISM
The tool uses ethers.js utilities for ABI decoding. It creates an ethers.utils.Interface from the provided ABI. For calldata decoding, it uses iface.parseTransaction({ data }) to parse the transaction data and extract the function name and arguments. For event decoding, it uses iface.getEvent(eventName) to retrieve the event fragment, then attempts to parse the log data using iface.parseLog(log). The decoded arguments are displayed with their names (from the ABI), types, and values. The tool handles basic types (address, uint, int, bool, string, bytes) and displays them in a human-readable format. Complex nested structs and arrays are displayed as JSON. All operations are performed client-side — no data is stored or transmitted. The tool is read-only and does not sign any transactions.
WHAT IT CANNOT SEE
The tool cannot decode transaction data without a valid ABI — the ABI is required for all decoding. It cannot decode events without the event ABI — the event must be defined in the ABI. It cannot handle complex nested structs or arrays beyond basic types — the tool may not fully decode deeply nested structures. It cannot verify that the decoded data matches the actual transaction — the tool assumes the data is correctly formatted. It cannot decode data for multiple ABIs simultaneously — only one ABI at a time. It cannot provide human-readable names for indexed event parameters without the ABI — the ABI must contain the parameter names. It cannot decode data that was not encoded with the provided ABI. The tool is read-only and does not sign any transactions.
PLEASE NOTE
This tool works exclusively with EVM-compatible chains for the wallet connection, but the ABI decoding is chain-agnostic. Solana, Tron, Starknet, SUI, TON, Aptos, Bitcoin, Cosmos, and XRP are not supported for wallet connection but the decoding works regardless. The tool requires an accurate ABI to decode correctly — incorrect or incomplete ABIs will produce errors or misleading output. The tool does not store any data — all operations are performed client-side. The tool is provided as-is with no warranty or liability. Always verify decoded data with the contract source code.