# Base Contract Storage Slot Reader

> Base Contract Storage Slot Reader is a paid API for AI agents from x402-data-api.bodhinindustries.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Reads a raw 32-byte storage slot from any Base chain contract address, returning the value in multiple decoded formats (hex, uint, address, bool) computed live from chain state.

## Facts

- Endpoint: GET https://x402-data-api.bodhinindustries.workers.dev/storage
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-contract-storage-slot-reader-0ff7ff0d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LkyTumKIc1agjeuC69-Ud

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-contract-storage-slot-reader-0ff7ff0d
```

Example prompt: What's stored at EIP-1967 implementation slot 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc on Base contract 0x4200000000000000000000000000000000000010? Give me the raw value and the decoded address.

## When to prefer this

Use this endpoint when you need to read raw EVM storage slots from Base contracts without relying on ABIs or third-party indexers. Ideal for inspecting proxy implementation addresses (EIP-1967), reading packed storage variables, auditing admin/owner slots, or verifying onchain state directly from chain. Prefer this over general blockchain explorers when you need machine-readable decoded output (uint, address, bool) in a single call with no external data dependencies.

## Known failure modes

- Invalid contract address format returns an error — address must be a valid checksummed or lowercase Base address
- Invalid slot format (neither valid hex 0x.. nor decimal integer) causes a parse error
- Contract address does not exist on Base — returns zero value (not an error, but may be misleading)
- Slot out of range or malformed hex returns decode error
- Network or RPC timeout from Base node causes a 5xx response

## How this service works

Self-computed Base onchain toolkit for AI agents: ERC-20 safety scan, manipulation-resistant TWAP price oracle, gas/fee oracle, calldata decoder, token/address/contract intel, wallet approval-risk audit, and batch token triage — all computed live from raw Base chain, no third-party data.

## Output

Returns a JSON object with: the raw 32-byte hex word, the normalized slot key, the Base block height at read time, the value decoded as an unsigned decimal string, a checksummed 20-byte address (if applicable), boolean flags for zero/non-zero, and an ISO-8601 timestamp. No third-party data is used — all values are computed live from Base chain.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "slot",
  "address"
 ],
 "properties": {
  "slot": {
   "type": "string",
   "description": "Storage slot as hex (0x..) or decimal. Example is the EIP-1967 implementation slot."
  },
  "address": {
   "type": "string",
   "description": "Base contract address whose storage to read."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "raw": {
   "type": "string",
   "description": "raw 32-byte word (hex)"
  },
  "slot": {
   "type": "string",
   "description": "normalized 32-byte slot key"
  },
  "block": {
   "type": "integer",
   "description": "Base block height"
  },
  "asBool": {
   "type": "boolean",
   "description": "word is non-zero"
  },
  "asUint": {
   "type": "string",
   "description": "word as unsigned decimal"
  },
  "isZero": {
   "type": "boolean",
   "description": "whole word is zero"
  },
  "address": {
   "type": "string",
   "description": "contract read"
  },
  "asAddress": {
   "type": "string",
   "description": "checksummed low-20-bytes (or null)"
  },
  "computedAt": {
   "type": "string",
   "description": "ISO-8601 timestamp"
  },
  "thirdPartyDataUsed": {
   "type": "boolean",
   "description": "always false"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-contract-storage-slot-reader-0ff7ff0d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-data-api.bodhinindustries.workers.dev](https://www.zero.xyz/host/x402-data-api.bodhinindustries.workers.dev/llms.txt)
