{"openapi":"3.1.0","info":{"title":"Storage Slot API","version":"1.0.0","description":"Read any smart contract's raw EVM storage live via the chain's public JSON-RPC, decode each 32-byte word as an address, uint or bool, and resolve proxy implementation pointers across every common proxy standard — EIP-1967, EIP-1822/UUPS and the legacy OpenZeppelin/zeppelinos slot, plus beacon proxies. This is how you find out what a proxy actually points to, who its admin is, or what a contract is storing — even for unverified contracts where source and ABI are unavailable. Give it a chain and an address: read one slot, scan the first N slots to peek at the state layout, or auto-resolve the proxy implementation. The on-chain state-inspection layer for auditors, upgrade monitors and security tooling, across Ethereum, Base, Arbitrum, Optimism, BNB, Polygon and more. Live, short cache only.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/storageslot-api","description":"oanor gateway"}],"tags":[{"name":"Storage"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/proxy":{"get":{"operationId":"get_v1_proxy","tags":["Storage"],"summary":"Resolve proxy implementation/admin/beacon across all standards","description":"","parameters":[{"name":"address","in":"query","required":true,"description":"Contract address (0x + 40 hex)","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"chain","in":"query","required":false,"description":"Chain name or id (ethereum, base, arbitrum, optimism, bsc, polygon...)","schema":{"type":"string"},"example":"ethereum"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Resolves the proxy implementation/admin/beacon by reading the standard proxy storage slots (EIP-1967, EIP-1822/UUPS, legacy OpenZeppelin/zeppelinos). is_proxy is false when none are set.","chain":"ethereum","slots":{"zeppelinos_impl":{"raw":"0x00000000000000000000000043506849d7c04f9138d1a2050bbf3a0c054402dd","role":"implementation","address":"0x43506849d7c04f9138d1a2050bbf3a0c054402dd","standard":"OpenZeppelin/zeppelinos (legacy)"}},"source":"public JSON-RPC (publicnode)","address":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","is_proxy":true,"implementation":"0x43506849d7c04f9138d1a2050bbf3a0c054402dd","implementation_standard":"OpenZeppelin/zeppelinos (legacy)"},"meta":{"timestamp":"2026-06-14T08:04:11.710Z","request_id":"f491eac2-364c-4725-8ce8-525a30bc599d"},"status":"ok","message":"Proxy storage resolved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/scan":{"get":{"operationId":"get_v1_scan","tags":["Storage"],"summary":"Read sequential storage slots, decoded","description":"","parameters":[{"name":"address","in":"query","required":true,"description":"Contract address (0x + 40 hex)","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"from","in":"query","required":false,"description":"First slot index (default 0)","schema":{"type":"string"},"example":"0"},{"name":"count","in":"query","required":false,"description":"How many slots (1-64, default 10)","schema":{"type":"string"},"example":"8"},{"name":"chain","in":"query","required":false,"description":"Chain name or id","schema":{"type":"string"},"example":"ethereum"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"from":0,"note":"Reads sequential storage slots from..from+count and decodes each. Good for peeking at a contract's state layout (slot 0, 1, 2 ...).","chain":"ethereum","count":8,"slots":[{"slot":0,"value":{"raw":"0x000000000000000000000000fcb19e6a322b27c06842a71e8c725399f049ae3a","as_uint":"1442626706025541066953462928744535818996053290554","is_zero":false,"as_address":"0xfcb19e6a322b27c06842a71e8c725399f049ae3a"},"slot_hex":"0x0"},{"slot":1,"value":{"raw":"0x0000000000000000000000004914f61d25e5c567143774b76edbf4d5109a8566","as_uint":"417223780715013227085836490829281552150151464294","is_zero":false,"as_address":"0x4914f61d25e5c567143774b76edbf4d5109a8566"},"slot_hex":"0x1"},{"slot":2,"value":{"raw":"0x0000000000000000000000000a06be16275b95a7d2567fbdae118b36c7da78f9","as_uint":"57240271052284111913658603083735073530102577401","is_zero":false,"as_address":"0x0a06be16275b95a7d2567fbdae118b36c7da78f9"},"slot_hex":"0x2"},{"slot":3,"value":{"raw":"0x0000000000000000000000000000000000000000000000000000000000000000","as_bool":false,"as_uint":"0","is_zero":true,"as_address":"0x0000000000000000000000000000000000000000"},"slot_hex":"0x3"},{"slot":4,"value":{"raw":"0x55534420436f696e000000000000000000000000000000000000000000000010","as_uint":"38593710624525879730480819364414810941157096808048686924515883081335702552592","is_zero":false},"slot_hex":"0x4"},{"slot":5,"value":{"raw":"0x5553444300000000000000000000000000000000000000000000000000000008","as_uint":"38593711561022257368518379114816214809265752568552928798754351540423798816776","is_zero":false},"slot_hex":"0x5"},{"slot":6,"value":{"raw":"0x0000000000000000000000000000000000000000000000000000000000000006","as_uint":"6","is_zero":false,"as_address":"0x0000000000000000000000000000000000000006"},"slot_hex":"0x6"},{"slot":7,"value":{"raw":"0x5553440000000000000000000000000000000000000000000000000000000006","as_uint":"38593709754705830669425512872126203978950497434864252488535995306481912119302","is_zero":false},"slot_hex":"0x7"}],"source":"public JSON-RPC (publicnode)","address":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","non_zero":7},"meta":{"timestamp":"2026-06-14T08:04:11.846Z","request_id":"8b24c459-7dcc-4688-b900-45f28eddd51a"},"status":"ok","message":"Storage scan retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/slot":{"get":{"operationId":"get_v1_slot","tags":["Storage"],"summary":"Read & decode one storage slot","description":"","parameters":[{"name":"address","in":"query","required":true,"description":"Contract address (0x + 40 hex)","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"slot","in":"query","required":true,"description":"Storage slot: integer (0) or hex (0x360894...)","schema":{"type":"string"},"example":"0"},{"name":"chain","in":"query","required":false,"description":"Chain name or id","schema":{"type":"string"},"example":"ethereum"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The 32-byte word stored at this slot, decoded as address (if top 12 bytes are zero), uint and bool. Reads live via eth_getStorageAt.","slot":"0x0","chain":"ethereum","value":{"raw":"0x000000000000000000000000fcb19e6a322b27c06842a71e8c725399f049ae3a","as_uint":"1442626706025541066953462928744535818996053290554","is_zero":false,"as_address":"0xfcb19e6a322b27c06842a71e8c725399f049ae3a"},"source":"public JSON-RPC (publicnode)","address":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},"meta":{"timestamp":"2026-06-14T08:04:11.932Z","request_id":"69d72e7c-4231-4f16-9983-8a707c14660b"},"status":"ok","message":"Storage slot retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata, supported chains & live sample","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"chains":["ethereum","base","arbitrum","optimism","bsc","polygon","avalanche","gnosis","fantom","linea","scroll","blast"],"sample":{"chain":"ethereum","is_proxy":true,"implementation":"0x43506849d7c04f9138d1a2050bbf3a0c054402dd"},"source":"public JSON-RPC nodes (publicnode.com) via eth_getStorageAt; decoding computed locally","service":"storageslot-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/scan":"Read sequential slots from..from+count, decoded (chain, address, from, count).","GET /v1/slot":"Read & decode one storage slot (chain, address, slot — hex or integer).","GET /v1/proxy":"Resolve proxy implementation/admin/beacon across all standards (chain, address)."},"description":"Read any contract's raw EVM storage live via eth_getStorageAt, decode each word as address/uint/bool, and resolve proxy implementation pointers across EIP-1967, EIP-1822/UUPS and legacy OpenZeppelin proxy standards. Works on unverified contracts. The on-chain state-inspection layer for auditors and upgrade monitors. Live, short cache only.","upstream_status":"ok"},"meta":{"timestamp":"2026-06-14T08:04:12.012Z","request_id":"08f65347-d50a-4796-aaaf-55d66e276445"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":4600,"rps_limit":3,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1140,"monthly_call_quota":92000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3850,"monthly_call_quota":610000,"rps_limit":20,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":11200,"monthly_call_quota":4100000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/storageslot-api"}