OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Whatsabi

Whatsabi is a TypeScript library that analyzes Ethereum bytecode to infer ABI information, identify selectors, look up function and event signatures, and detect or resolve proxy contracts. It can work with unverified contracts and does not assume the contract’s source language.

Independent OpenViST project profile, based on linked sources.

Whatsabi — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Whatsabi when an Ethereum application needs to derive contract interface information from bytecode or add proxy-aware inspection, especially where verified source code is unavailable.

Who it is for

  • Developers building contract-aware frontends, wallets or block explorers.
  • Teams creating Ethereum bytecode-analysis and contract-inspection tools.

Documented uses

  • Infer an ABI-like interface when a contract’s source code is unavailable or unverified.
  • Retrieve function and event signatures from selectors or hashes using supported public-data loaders.
  • Identify proxies and optionally follow them to inspect the resolved contract.
  • Add contract interaction or inspection capabilities to developer-facing applications.
Before you choose

Requirements & limits

  • A provider or client is needed for the documented autoload flow to retrieve contract bytecode.
  • The README demonstrates Ethers.js and Viem, and names Web3.js as another compatible provider-library option.
  • ABI and signature loaders can query public databases; the documented Etherscan and Blockscout loader examples accept API keys.
  • Results may vary according to available source code and signature data, or reliance on bytecode inference alone.
  • The project is TypeScript and MIT-licensed; its README describes browser use and wallet embedding.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Infer an ABI for an Ethereum contract address

Use Whatsabi’s autoload example to retrieve an inferred ABI through an Ethers.js provider.

Before you start

  • The Whatsabi package, imported as @shazow/whatsabi.
  • Ethers.js and a provider that can retrieve contract bytecode.
  • An Ethereum contract address.

Steps

  1. Import ethers and whatsabi.

  2. Create a provider with ethers.getDefaultProvider().

  3. Pass the contract address and provider to whatsabi.autoload.

  4. Read the returned result’s abi property.

Expected outcome

An ABI result inferred or assembled using the available contract and signature data.

Guide limitations

  • The README says result detail depends on source-code availability, selector-signature availability and bytecode inference.
  • The example does not guarantee that every contract will yield a complete or verified ABI.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
9 October 2026
Original website title
shazow/whatsabi · Official homepage title · retained in its source language