# Contract Storage Slot Reader

> Contract Storage Slot Reader is a paid API for AI agents from agent402.tools, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Reads a raw 32-byte storage slot from an EVM smart contract and returns the value interpreted as hex, uint, address, and boolean

## Facts

- Endpoint: GET https://agent402.tools/api/chain/storage
- 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/contract-storage-slot-reader-9ad40366
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_215EqkvQ-uV6X9KaYquAW

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 contract-storage-slot-reader-9ad40366
```

Example prompt: What's stored in the EIP-1967 implementation slot (0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc) of the contract at 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 on Base — give me the raw hex and the address interpretation.

## When to prefer this

Use this endpoint when you need to inspect raw on-chain contract state that is not exposed through the contract's public ABI — such as EIP-1967 proxy implementation slots, emergency pause flags stored in private variables, ownership slots, or any other untyped 32-byte storage word. It is especially valuable for proxy contract inspection, upgrade monitoring, and debugging. It covers Ethereum, Base, Polygon, Arbitrum, and Optimism. Prefer this over a full ABI call when the data you need is not in any public getter.

## Known failure modes

- Invalid or non-checksummed contract address returns an error
- Slot index that is not a valid decimal or 0x-prefixed hex causes a parse error
- Unsupported network name returns a validation error
- Block number that doesn't exist yet or is beyond chain tip returns an error
- Contract at address doesn't exist (EOA) may return zero-value slot without error
- Network congestion may cause slow response for historical block queries

## How this service works

Read one 32-byte storage slot from a contract, the raw state under whatever the source code calls it. Returns the word as hex plus three readings of the same bytes - unsigned integer, address (low 20 bytes) and boolean - because a slot is untyped on chain and only the caller knows which it meant. Useful for proxy implementation slots, paused flags and any value the ABI does not expose. EVM chains: ethereum, base, polygon, arbitrum, optimism.

## Output

Returns a JSON object containing the raw 32-byte slot value as a 0x-prefixed hex string, the same bytes decoded as an unsigned integer string, as an Ethereum address (low 20 bytes), and as a boolean, along with the contract address, network, slot index, and block reference used.

## 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",
      "slot"
     ],
     "properties": {
      "slot": {
       "type": "string",
       "description": "Slot index: a decimal number or a 0x-prefixed hex key (EIP-1967 implementation slot is 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)"
      },
      "block": {
       "type": "string",
       "description": "latest (default), pending, earliest, safe, finalized, or a block number"
      },
      "address": {
       "type": "string",
       "description": "0x contract address"
      },
      "network": {
       "type": "string",
       "description": "ethereum | base | polygon | arbitrum | optimism (default base)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "address",
      "network",
      "slot",
      "block",
      "value",
      "asUint",
      "asAddress",
      "asBool"
     ],
     "properties": {
      "slot": {
       "type": "string"
      },
      "block": {
       "type": "string"
      },
      "value": {
       "type": "string"
      },
      "asBool": {
       "type": "boolean"
      },
      "asUint": {
       "type": "string"
      },
      "address": {
       "type": "string"
      },
      "network": {
       "type": "string"
      },
      "asAddress": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "slot": "0x0",
  "block": "latest",
  "value": "0x0000000000000000000000000000000000000000000000000000000000000001",
  "asBool": true,
  "asUint": "1",
  "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "network": "base",
  "asAddress": "0x0000000000000000000000000000000000000001"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/contract-storage-slot-reader-9ad40366/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent402.tools](https://www.zero.xyz/host/agent402.tools/llms.txt)
