đĻ Storage
Last TX: ---
| Slot | Changes |
|---|
Storage Sloth
Storage Sloth allows you to interact with your contracts and watch storage changes in real time. See exactly what happens in your contracts.
No setup needed
Try our hosted demo with SlothSwap â a toy DEX with contracts and users ready to go.
Try Live DemoHave your own Anvil?
Load a pre-configured DeFi protocol and explore it on your mainnet fork.
Getting Started
-
Start Anvil with tracing:
anvil --steps-tracing --no-request-size-limitForking? Add: --fork-url YOUR_RPC_URL -
Enable storage layout in foundry.toml:
extra_output = ["storageLayout"] -
Deploy your contracts:
forge script script/Deploy.s.sol --broadcast --rpc-url localhost:8545RPC URL must match the one selected in the left sidebar. - Import your deployed contracts: Scans your artifacts folder and broadcast file. Auto-detects proxies and storage layout.
- Need to add a contract you didn't deploy? Use the contract panel in the sidebar. Paste an ABI or load a Foundry artifact. No local artifact? Copy the ABI from Etherscan (Contract â Code â ABI).
- Once you add a contract, functions will appear in the sidebar. Call functions and observe storage changes here.
Welcome to the Storage Sloth Demo
Storage Sloth lets you explore smart contracts through playful interaction. Call functions and instantly see every storage write - decoded values, before/after diffs, all in real time. No test cases, no setup, just click around and understand what's happening.
This demo is loaded with SlothSwap, a minimal DEX. Swap tokens, add liquidity, and watch the storage light up.
Contracts
- SlothSwap - main DEX router (swaps, liquidity, and... other features)
- SlothSwapPool - AMM pool with packed storage slots
- SLOTH - Sloth Coin token
- DUSD - Demo USD stablecoin
Use the dropdown in the left panel to switch between contracts.
Ready to Use
- The pool already has liquidity
- Two accounts are set up: Alice and Bob, both with ETH for gas
- Use aliases instead of full addresses - type alice or slothswap wherever an address is needed
- Aliases are case-insensitive - alice, Alice, ALICE all work
- Numbers accept scientific and hex notation - 1e18, 0x64, 100000
Utility Panels (right side)
- Token Faucet - deal tokens to any address
- Approvals - quickly grant token approvals
Things to Try
- Give Alice some SLOTH using the Token Faucet
- Approve SlothSwap to spend it via the Approvals panel
- Call swapAForB on SlothSwap as Alice and watch the storage light up
- Check the Inspector tab to browse full contract state
- Try addLiquidity or removeLiquidity to see reserves change
Secret Mission
Rumor has it SlothSwap has a hidden feature. Something about pulling rugs... The Inspector tab might reveal who controls the contracts and what secrets they hold. Can you figure out how to execute it?
Hint: Some addresses aren't set up with gas. The Token Faucet can send ETH too.
Protocol Loaded
Contracts
Things to Try
Quick Reference
- Use names instead of addresses â contract, sender, and token names all work as aliases
- Numbers accept scientific notation â 1e18, 1e6, 0x64
- Token Faucet (right panel) can deal tokens and ETH
- Inspector tab shows full contract storage state
How This Works
- All transactions stay on your local Anvil fork — nothing is sent to mainnet and there is nothing to sign, just like Foundry fork tests
- Storage Sloth only talks to your local Anvil — bring your own RPC URL, fork to mainnet, and interact with real contracts safely
Transaction succeeded - no storage slots were modified.
No storage layout available.
To enable, compile with storage layout output:
forge build --extra-output storageLayout
Or add to foundry.toml:
extra_output = ["storageLayout"]
| Variable | Slot | Type | Value |
|---|
đ° Token Faucet
Add an ERC20 token above to use approvals.