{"uid":"cap_215EqkvQ-uV6X9KaYquAW","slug":"contract-storage-slot-reader-9ad40366","name":"Contract Storage Slot Reader","description":"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.","url":"https://agent402.tools/api/chain/storage","method":"GET","headers":{},"bodySchema":{"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"}}}}}}},"responseSchema":{"type":"json","example":{"slot":"0x0","block":"latest","value":"0x0000000000000000000000000000000000000000000000000000000000000001","asBool":true,"asUint":"1","address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","network":"base","asAddress":"0x0000000000000000000000000000000000000001"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_nsI8E3e_4FTvpK3IROIrt","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Reads a raw 32-byte storage slot from an EVM smart contract and returns the value interpreted as hex, uint, address, and boolean","exampleAgentPrompt":"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.","exampleUseCases":[{"title":"Proxy implementation address lookup","prompt":"What's the current implementation contract behind the proxy at 0x1234567890abcdef1234567890abcdef12345678 on Ethereum? Read its EIP-1967 slot 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc and give me the address."},{"title":"Check if contract is paused","prompt":"Is the contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum currently paused? Read storage slot 1 and interpret it as a boolean."},{"title":"Inspect hidden state at historical block","prompt":"What was stored in slot 0 of the contract 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 on Ethereum at block 18000000 — show me the raw hex and the unsigned integer value."}],"resultDescription":"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.","failureModes":["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"],"whenToPreferThis":"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.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:30:06.297Z","isFirstParty":false}