Diamond contracts spread their logic across many facet contracts, which is why a block explorer shows you almost nothing when you look one up. Louper reads the diamond directly from chain state and reconstructs the full picture: every facet, every function selector, and a combined ABI you can actually use.
Paste an address in the search bar above to get started, or explore one of the production diamonds below. New to the standard? Start with What Is a Diamond? EIP-2535 Explained.
Everything is read live from the blockchain, so what you see reflects the contract as it exists right now — not as a deployment script intended it to be.
Paste any diamond contract address and choose its network. No account, no API key, no rate limit.
Louper reads the on-chain facets() function to enumerate every facet contract and every function selector the diamond routes.
Verified source is matched against each selector to recover real function names, parameters and a combined, callable ABI.
Browse facets, call view functions for free, send transactions with your own wallet, and export the ABI as JSON.
Production EIP-2535 deployments you can inspect right now. Each of these routes calls across dozens of facets from a single contract address.



A fluctuations derivatives protocol for hedging yield sensitivity and market price.
Visit project

PieDAO, the asset allocation DAO for decentralized market-weighted portfolio allocations.
Visit project
Automated smart contract executions on Avalanche, Arbitrum, BSC, Fantom, Ethereum, Optimism, Polygon, and more.
Visit project

Technical guides written for engineers building, integrating with, or auditing EIP-2535 contracts.
A plain-English introduction to the EIP-2535 Diamond standard: what problem it solves, how facets work, and when you should (and should not) use one.
How Solidity turns a function signature into a 4-byte selector, why selectors matter for diamonds, and how selector collisions actually happen.
The four loupe functions defined by EIP-2535, what each one returns, and how tools like Louper use them to reconstruct a diamond ABI.
Why facets cannot use ordinary state variables, and how Diamond Storage and AppStorage keep upgradeable contracts from corrupting their own state.
A walkthrough of the diamondCut function: Add, Replace and Remove actions, initialization calls, and the mistakes that brick an upgrade.
An honest comparison of EIP-2535 against the more common proxy patterns, including the real trade-offs in gas, tooling and audit burden.