ChainState

One-call Base address profile for agents: code, proxy, interfaces, token, balances, denylist.

ChainState answers everything an agent needs to know about a Base address before interacting with it, in one paid call rather than four to six a-la-carte lookups. It reports whether the address holds code and how much, resolves proxies across all seven known slot layouts — including the legacy OpenZeppelin slot that Base USDC really uses, which an EIP-1967-only detector misses entirely — and returns the implementation behind the indirection, ERC-165 interface support, behavioural ERC-20 detection, token metadata, and the balances you asked for. There is no model anywhere in it. A contract that does not answer supportsInterface is reported as null, never false, and there is deliberately no reverse-name field: a name the subject can set for itself, published without a forward check, would be the one spoofable value in the response.

Endpoints

RouteWhat it doesPrice
POST /v1/chain/stateProfile a Base address: code, proxy, interfaces, token metadata, balances, denylist$0.01

Call it

Send the request unpaid to see the live quote. You get HTTP 402 and a PAYMENT-REQUIRED header.

curl -i -sS -X POST https://chainstate.schemasure.com/v1/chain/state \
  -H 'content-type: application/json' \
  -d '{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}'

Payment

Honest uncertainty

Every response carries a verdict. When this service cannot determine an answer it returns unknown with evidence explaining why. It never reports an undetermined result as a clean one.

For agents