# Base Onchain Tools – Address Check

> Base Onchain Tools – Address Check is a paid API for AI agents from base-onchain-tools.dolerite.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-13).

Returns a safety verdict and contract status for a given Base mainnet address, indicating whether it is safe to pay or interact with.

## Facts

- Endpoint: GET https://base-onchain-tools.dolerite.workers.dev/v1/base/address-check
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-onchain-tools-address-check-38ef3555
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_beuAqX2O-KJNxvqVbq-a8

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability base-onchain-tools-address-check-38ef3555
```

Example prompt: Before I send payment, can you check whether the Base address 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is safe to interact with — is it a contract, and does it get a clean verdict?

## When to prefer this

Choose this endpoint when you need a fast, pay-per-call safety verdict on a Base mainnet address with no API key or account setup. Ideal for agents making payment decisions, onboarding external addresses, or performing due diligence before token transfers. Prefer over raw RPC when you want an aggregated safety signal rather than raw chain data, and when cost-certainty matters (failed calls are free).

## Known failure modes

- Invalid or malformed address (not 0x-prefixed or not 20 bytes) — 4xx error, no charge
- RPC provider outage causing incomplete data — treated as failure, no charge
- Address not found or never used on Base mainnet — may return limited verdict
- Network congestion causing timeout — error returned, not billed

## How this service works

Eleven read-only endpoints answering questions about Base mainnet that are tedious to assemble from raw RPC: what an unverified contract is actually able to do, whether a token transfer will revert and for what reason, what an arbitrary token is worth, and whether an address is safe to pay. Priced $0.001-$0.04 per call in USDC over x402. No account, no API key, no signup, no minimum, no rate limit to negotiate — the payTo address in the 402 response is the whole integration. Failed calls are not billed. The payment middleware cancels settlement on any 4xx or 5xx, so a malformed parameter or an upstream outage costs nothing. Answers are read live from Base mainnet at request time, with failover across five independent RPC providers. A batch that comes back incomplete is treated as a failure rather than returned with the missing entries as zeros, because a confident wrong answer costs a caller more than an error does. Scope is deliberately narrow: Base mainnet only, reads only, no keys held, nothing stored between requests.

## Output

A JSON object containing the queried address, a verdict field (e.g. 'safe', 'caution', or similar classification), and an is_contract boolean indicating whether the address is a smart contract or externally owned account. Data is read live from Base mainnet with failover across five RPC providers. Incomplete results are treated as errors rather than returned with missing fields.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "description": "Base mainnet address (0x-prefixed, 20 bytes)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "verdict": "caution",
  "is_contract": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-onchain-tools-address-check-38ef3555/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from base-onchain-tools.dolerite.workers.dev](https://www.zero.xyz/host/base-onchain-tools.dolerite.workers.dev/llms.txt)
