Tool · runs in your browser

ABI explorer: every event and function of a contract, with its topic0 and selector

Paste a contract's ABI, a build artifact or a list of signatures. The explorer lists every event, function and error with its canonical signature, its topic0 or 4-byte selector, and which event arguments are indexed. Events the app knows link straight to a ready-made alert rule.

Contract ABI
A JSON ABI, a Hardhat or Foundry artifact, or one signature per line.
How to use it

How to use it

  1. 1Copy the ABI from the contract's verified source, your build artifact (Hardhat or Foundry) or write one signature per line.
  2. 2Paste it into the box. The explorer lists events first, then functions and errors.
  3. 3Copy a topic0 or a selector, or open the ready-made rule next to an event to get an alert each time it is emitted.
Explained

What is a contract ABI?

The ABI (application binary interface) is the JSON description of a contract's public surface: its functions with their inputs and outputs, its events with their indexed and non-indexed parameters, and its custom errors. Wallets, explorers and libraries such as viem and ethers use it to encode calls and decode logs.

The ABI isn't stored on chain. You get it from the verified source on a block explorer, from the project's repository, or from your own compiler output.

Explained

Reading an event from the ABI

An event's indexed parameters travel in the log's topics (topic1 to topic3), so they can be filtered cheaply; the rest are ABI-encoded together in the log's data. An indexed string, bytes or array is stored as its hash, so the value itself can't be read back from the log.

The explorer shows the indexed flags next to every parameter, which is what you need to write a filter or an alert condition on an argument.

Explained

Formats the explorer accepts

Paste any of these:

  • A JSON ABI array, as a block explorer exports it.
  • A Hardhat or Foundry artifact: the explorer reads its abi field.
  • Human-readable lines, one per item: event Transfer(address indexed from, address indexed to, uint256 value).
FAQ

Frequently asked questions

Where do I find a contract's ABI?

On a block explorer's contract page when the source is verified (the Contract tab, "Contract ABI"), in the project's repository or docs, or in your build output: artifacts/ for Hardhat, out/ for Foundry.

What does indexed mean in an event?

An indexed parameter is stored as a log topic instead of in the data, so nodes and indexers can filter on it. An event can index up to three parameters (four if it is anonymous).

Does the explorer read ABIs from the chain?

No. ABIs aren't stored on chain; you paste one, and the explorer works it out locally.

Is what I paste sent anywhere?

No. The tool runs entirely in your browser: what you paste is never sent to a server and there is no sign-up.

How do I get an alert when a contract emits one of these events?

Open a ready-made rule from the result: the events the app knows link to rules with the contract and the conditions filled in. Sign in, pick your chat and click Create.

Keep exploring

More tools and alerts

Know the moment it happens on chain

Turn any event into an alert. The Beta plan is free: one wallet and one contract, no credit card.