# Ethereum Raw Storage Slot Reader (eth_getStorageAt)

> Ethereum Raw Storage Slot Reader (eth_getStorageAt) is a paid API for AI agents from skills.onesource.io, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-16).

Reads a raw 32-byte storage slot from any Ethereum-compatible smart contract at a given block using eth_getStorageAt

## Facts

- Endpoint: GET https://skills.onesource.io/api/chain/storage
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/skills-onesource-io-75222683
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1nV8vW1BxM6kUx-4RCNN4

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 skills-onesource-io-75222683
```

Example prompt: What is the raw 32-byte value stored in slot 0x0 of the contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum at the latest block?

## When to prefer this

Use this endpoint when you need the lowest-level, raw storage access to any EVM contract — especially for reading non-standard or unverified storage layouts, inspecting proxy slots directly, or auditing contract state at a specific historical block. Prefer this over higher-level contract-read endpoints when the ABI is unavailable, the slot is known, or you need deterministic hex output for further decoding.

## Known failure modes

- Invalid contract address format returns validation error
- Invalid slot hex pattern returns 400 bad request
- Contract does not exist at specified block returns zero bytes (0x000...000)
- Unsupported network name returns 400 or 422
- Block number out of range or not yet mined returns error
- Payment not provided or insufficient (x402) returns 402 Payment Required

## How this service works

Read a raw storage slot from any Ethereum contract via eth_getStorageAt

## Output

Returns the raw 32-byte hex value stored at the specified storage slot of the target contract on the specified network at the specified block. This is the low-level EVM storage output, suitable for decoding into addresses, integers, booleans, or other Solidity types.

## Example request

```json
{
 "slot": "0x0",
 "block": "latest",
 "network": "ethereum",
 "contract": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "slot": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]+$"
  },
  "block": {
   "oneOf": [
    {
     "type": "integer",
     "minimum": 0
    },
    {
     "enum": [
      "latest",
      "pending",
      "earliest",
      "safe",
      "finalized"
     ],
     "type": "string"
    },
    {
     "type": "string",
     "pattern": "^0x[a-fA-F0-9]+$"
    }
   ]
  },
  "network": {
   "enum": [
    "ethereum",
    "sepolia",
    "avax",
    "megaeth",
    "megaeth-testnet",
    "base"
   ],
   "type": "string",
   "default": "ethereum"
  },
  "contract": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "data",
  "meta"
 ],
 "properties": {
  "data": {
   "type": "object",
   "required": [
    "value"
   ],
   "properties": {
    "value": {
     "type": "string"
    }
   }
  },
  "meta": {
   "type": "object",
   "required": [
    "endpoint",
    "request_id"
   ],
   "properties": {
    "endpoint": {
     "type": "string"
    },
    "request_id": {
     "type": "string"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/skills-onesource-io-75222683/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from skills.onesource.io](https://www.zero.xyz/host/skills.onesource.io/llms.txt)
