# Otto AI Base Chain Status

> Otto AI Base Chain Status is a paid API for AI agents from x402.ottoai.services, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Returns the four key block heads on Base (latest, safe, L1-finalized, pending Flashblocks) with base fee, congestion level, block age, and finality lag metrics.

## Facts

- Endpoint: GET https://x402.ottoai.services/chain-status
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/otto-ai-base-chain-status-f5e5e3d0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5Y-kh-zo1Nwg6La_R6Qrw

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 otto-ai-base-chain-status-f5e5e3d0
```

Example prompt: What's the current state of the Base chain — give me the latest, safe, and finalized block numbers, the current base fee in gwei, and whether the network is congested right now.

## When to prefer this

Choose this endpoint when you need a single, pre-parsed snapshot of all four Base block heads simultaneously — especially when you need to compare latest vs safe vs finalized vs pending in one call. Prefer over raw RPC eth_blockNumber calls when you need finality lag, congestion label, and Flashblocks pending head together without writing multi-call aggregation logic.

## Known failure modes

- RPC unavailable: upstream Base RPC node unreachable, returns degraded flag in meta
- Stale data: cache not refreshed within expected window, stalenessSec elevated
- Invalid response: malformed JSON if Otto service is down
- Payment failure: x402 payment not accepted, returns 402 without data

## How this service works

Base chain status from Otto's own RPC: the four heads an agent needs before it acts — latest (~2s soft), safe, L1-finalized and the pending Flashblocks preconfirmation head — with base fee (wei+gwei), congestion, block age and the finality lag between them. Makes the Base pending-vs-latest gap explicit. Flat JSON, refreshed every minute, honest staleness meta. Base chain status, block height, base fee, finality, chain health. $0.001 per call.

## Output

A flat JSON object with four block head objects (latest, safe, finalized, pending), each containing block number, ISO timestamp, Unix timestamp, gas used ratio, base fee in wei and gwei. Top-level fields include chain name, chain ID, congestion label (e.g. 'low'), block age in seconds, finality lag in seconds and blocks, pending lead blocks, a human-readable finality note, and a meta object with staleness info and degraded flag.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "properties": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "safe": {
    "blockNumber": 50738532,
    "blockTimeIso": "2026-09-01T12:00:11.000Z",
    "gasUsedRatio": 0.1893,
    "blockTimestamp": 1788266411,
    "baseFeePerGasWei": "5000000",
    "baseFeePerGasGwei": 0.005
   },
   "chain": "base",
   "latest": {
    "blockNumber": 50738555,
    "blockTimeIso": "2026-09-01T12:00:57.000Z",
    "gasUsedRatio": 0.1088,
    "blockTimestamp": 1788266457,
    "baseFeePerGasWei": "5000000",
    "baseFeePerGasGwei": 0.005
   },
   "chainId": 8453,
   "pending": {
    "note": "in-progress block (Flashblocks preconfirmation head); hash is not yet final",
    "blockNumber": 50738556,
    "blockTimeIso": "2026-09-01T12:00:59.000Z",
    "gasUsedRatio": 0.0413,
    "blockTimestamp": 1788266459,
    "baseFeePerGasWei": "5000000",
    "baseFeePerGasGwei": 0.005
   },
   "finalized": {
    "blockNumber": 50738081,
    "blockTimeIso": "2026-09-01T11:45:09.000Z",
    "gasUsedRatio": 0.0825,
    "blockTimestamp": 1788265509,
    "baseFeePerGasWei": "5000000",
    "baseFeePerGasGwei": 0.005
   },
   "congestion": "low",
   "blockAgeSec": 3,
   "generatedAt": "2026-09-01T12:01:00.000Z",
   "finalityNote": "Base is an OP-Stack L2: ~2s soft-confirmed blocks (latest), L2-safe once the sequencer batch is submitted (safe), and L1-finalized after that batch is finalized on Ethereum (finalized, ~15 min behind). `pending` is the Flashblocks preconfirmation head.",
   "finalityLagSec": 948,
   "finalityLagBlocks": 474,
   "pendingLeadBlocks": 1
  },
  "meta": {
   "degraded": false,
   "validUntil": "",
   "generatedAt": "",
   "stalenessSec": 0
  },
  "status": "success"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/otto-ai-base-chain-status-f5e5e3d0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.ottoai.services](https://www.zero.xyz/host/x402.ottoai.services/llms.txt)
