Agentic Portal

Contract ABI Lookup

blockchain
Serving

Verified EVM contract source and ABI across 6 chains, with EIP-1967 proxy detection. POST /v1/evm with a contract {address, chain_id} and get its verified source, ABI, and proxy resolution as one JSON object. Deterministic per upstream verification state. Pay per request in USDC; no account, no API key.

Endpoint
POST https://agent.pocket.network/v1/contract-abi/v1/tool
Price per call
$0.005 USD
Networks payable on
Base (eip155:8453), Tempo (eip155:4217)
Protocol
rest

Calling it

The first call returns 402 Payment Required with the terms. Sign for those terms and retry the same request with the payment attached.

Example request

A real, working call — the request the service card verifies against.

curl -X POST https://agent.pocket.network/v1/contract-abi/v1/tool \
  -H 'content-type: application/json' \
  -d '{"arguments":{"address":"0xdAC17F958D2ee523a2206206994597C13D831ec7","chain_id":"1"}}'
Example response

The response this call returned, captured 2026-09-21 23:46:49 UTC.

{
  "portal": {
    "provenance": "third-party-supplier",
    "serviceId": "contract-abi",
    "schemaCheck": "unchecked"
  },
  "data": {
    "abi": null,
    "abi_source": "etherscan-key-missing",
    "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
    "as_of": "2026-09-21T23:46:48Z",
    "chain": "ethereum",
    "chain_id": 1,
    "compiler": null,
    "discovery_note": "On-chain reads confirm a live contract; verified ABI needs a free Etherscan V2 key (ETHERSCAN_API_KEY). No ABI invented.",
    "is_contract": true,
    "is_proxy": false,
    "match": null,
    "onchain_surface": {
      "decimals": 6,
      "name": "Tether USD",
      "symbol": "USDT"
    },
    "proxy_impl": null,
    "source_files": null,
    "source_url": null,
    "verified": false
  }
}

Try it

Make one real paid call from your own wallet — about $0.005 on Base (eip155:8453). The wallet signs; nothing here holds a key. You'll see exactly what the service answers.

No browser wallet found. Install MetaMask, Rabby, or Coinbase Wallet to try a call here.

Supported methods

Methods the registry lists for this service. The portal forwards any call as sent; the supplier decides what it answers, and a delivered answer is settled.

Methods Contract ABI Lookup accepts, and whether each reads or writes.
MethodEffect
GET /v1/healthread
GET /v1/versionread
POST /v1/evmread
POST /v1/toolread

Schemas

Published by the service itself. The example above is generated from these.

Request schema
{
  "type": "object",
  "description": "A contract to look up. On the MCP relay route POST /v1/tool these fields are wrapped under an `arguments` object; the direct route takes them at the top level.",
  "properties": {
    "address": {
      "type": "string",
      "description": "Contract address, 0x-prefixed."
    },
    "chain_id": {
      "type": "integer",
      "description": "EVM chain id (default 1)."
    }
  },
  "required": [
    "address"
  ]
}
Response schema
{
  "type": "object",
  "description": "For POST /v1/evm, a JSON object with the verified source, ABI, proxy resolution, and the chain_id. The exact shape is the service's own and is not pinned here; errors return a JSON object with an `error` field, and the GET routes return their own small JSON documents."
}