Contract ABI · ABI

by Contract ABI

GETBase

$0.003

per call · USD Coin on Base

Fetch a verified contract's ABI and metadata by address, keylessly, from Sourcify. Returns the ABI plus a summarized list of function and event signatures, the contract name and compiler, and proxy detection (is_proxy + implementation address). Block explorers gate the ABI behind an API key; this does not. Chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche. No API keys, no LLM, one x402 USDC micropayment per call.

Endpoint

GET https://abi.cyberwarex.com/abi

6

Calls / 30d

1

Unique payers / 30d

Sep 10

Last called

exact

Payment scheme

Call this service

TypeScript · @x402/fetch
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);

const res = await fetchWithPay("https://abi.cyberwarex.com/abi", {
  method: "GET",
});
const data = await res.json();
cURL
curl -X GET \
  "https://abi.cyberwarex.com/abi?address=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2&chain=ethereum" \
  -H "X-PAYMENT: <signed x402 payment>"

Example response

{
  "abi_entries": 16,
  "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
  "chain": "ethereum",
  "compiler": "0.4.19+commit.c4cbbb05",
  "events": [
    "Transfer(address,address,uint256)"
  ],
  "functions": [
    "approve(address,uint256)",
    "transfer(address,uint256)",
    "withdraw(uint256)"
  ],
  "is_proxy": false,
  "match": "exact_match",
  "name": "WETH9",
  "source": "Sourcify",
  "verified": true
}

Payment details

Pay to0x058d0cc5cc97e61e8a9f38d6d6365bce525921b2
AssetUSD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
NetworksBase
Schemesexact

Is this your API?

Pin it to the top of Onchain Data and the homepage with a featured placement.

Get featured →

More from Contract ABI & similar services