Storage Layout Viewer
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Storage Layout Viewer lets you read raw storage values from any deployed smart contract. You provide the contract address and a storage slot number (as decimal or hex), and the tool queries the chain to read the 32-byte value stored at that slot. It displays the raw value in hex, as a number, as an address (if applicable), and attempts to decode it as UTF-8 text. This is essential for developers debugging contract state, verifying storage layouts, analyzing upgradeable contracts, or inspecting low-level contract data. It reads the current network chain ID from your wallet provider to ensure queries are directed to the correct chain.
HOW TO USE
Connect your wallet using the "Connect" button (required for RPC access). Select the target network (Ethereum Mainnet, Sepolia, Polygon, BSC, Arbitrum, Optimism, and testnets are supported). Enter the contract address and the storage slot you want to read (as a decimal number or 0x-prefixed hex). Click "Read storage" — the tool will fetch the value from the chain and display it in multiple formats. The entire operation is read-only — no transactions are signed or sent.
TECHNICAL MECHANISM
The tool uses provider.getStorageAt(address, slot) from ethers.js to read the raw storage value. The slot parameter is converted to a 32-byte hex string using ethers.utils.hexZeroPad. For decimal inputs, the value is converted using ethers.BigNumber. For hex inputs, the string is used directly. The tool then formats the returned 32-byte value in multiple ways: raw hex, decimal number, Ethereum address (if the value ends with a valid address), and UTF-8 string (if the bytes decode to readable text). The tool does not interpret complex storage layouts — it only reads and displays raw data. All calls are view functions — no state is modified.
WHAT IT CANNOT SEE
The tool cannot interpret complex storage layouts or mapping/array structures without ABI or source code. It cannot detect if the slot corresponds to a specific variable without manual mapping. It is limited by RPC provider availability. It cannot read storage of contracts that are not deployed on the current chain. It cannot differentiate between data types from raw storage values — a 32-byte value could be a uint256, an address, a bytes32, or part of a larger structure. It cannot handle packed storage layouts where multiple variables share a single slot. It cannot read the storage of contracts that are not yet deployed.
PLEASE NOTE
This tool is for educational and analytical purposes. Understanding Solidity storage layout is essential for correct interpretation. The tool does not persist any data; all state is lost on page reload. EVM chains only.