This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Contract Upgrade Diff Debugger

Developer Tools · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategoryDeveloper Tools
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Contract Upgrade Diff Debugger helps developers and auditors verify what actually changed during a contract upgrade. You provide two contract addresses — the old version and the new version — and the tool fetches their bytecode, detects whether each is a proxy (using the EIP‑1967 implementation slot), and performs a byte‑level comparison. The output shows bytecode size, proxy status, implementation addresses, and a visual diff of changes. This makes it easy to confirm that the upgrade deployed the intended new logic and that no unexpected modifications were introduced.

HOW TO USE

Enter the old contract address and the new contract address. Optionally provide a custom RPC URL (if not connected via wallet). Click "compare bytecode". The tool fetches the contract code and checks the standard EIP‑1967 storage slot for proxy implementations. Results include a summary of sizes, proxy detection, and a detailed diff showing which bytes changed. The diff is displayed as a list of byte‑level changes with added (green) and removed (red) indicators. Use this to audit upgrade transactions, verify that only expected parts of the bytecode changed, and ensure the new implementation is correctly linked in proxy contracts.

THE REAL MECHANISM

The tool uses ethers.js v5 to connect to the blockchain via the provided RPC URL or the connected wallet. It fetches the bytecode for each address using getCode() and checks the implementation slot at 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc (the standard EIP‑1967 proxy implementation slot). If the slot contains a non‑zero address, the contract is identified as a proxy. The bytecodes are then compared byte by byte; the tool identifies added, removed, and changed bytes, and calculates the percentage of the bytecode that differs. The first 20 changes are displayed for quick inspection, with full bytecode previews also available.

WHAT IT CANNOT SEE

The tool cannot detect semantic differences in logic, determine if storage layout changes are safe, verify upgrade authorization, detect proxy‑specific upgrade patterns (beyond standard EIP‑1967), assess whether the upgrade introduces vulnerabilities, handle contracts without verified source code, or analyze custom proxy implementations. A bytecode diff shows that code changed, but it does not tell you what the change means, whether it is secure, or if it is compatible with existing storage. Always combine this with a full source‑level review and testing.

PLEASE NOTE — EVM CHAINS ONLY

This tool is designed for Ethereum Virtual Machine (EVM) compatible chains. It relies on standard EIP‑1967 storage slots for proxy detection, which may not apply to custom proxy implementations. All processing occurs in your browser; no contract data is stored or transmitted.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.