This is PoC for detecting EVM Proxies on multiple chains. it shows you how tools like etherscan detect proxies and how you can do it yourself. it support multiple chains and multiple proxy patterns.
- EIP-1967 Beacon Proxy
- EIP-1167 Minimal Proxy Pattern
- EIP-1822 Universal Upgradeable Proxy Pattern
- EIP-1967 Beacon Proxy
- EIP-897 Delegate Proxy Pattern
- OpenZeppelin Transparent Proxy
- Gnosis Safe Proxy
- Compound Comptroller Proxy
- Ethereum
- Binance Smart Chain
- Polygon
- polygonZkEvm
- Optimism
- opBNB
- Gnosis/xDAI
- Fantom
- Avalanche
- Arbitrum
- Optimism
- Base
- zkSync
- Linea
- Holesky
- Kava
- Automatic detection of proxy patterns
- Automatic detection of chains
- Multiple chains
- Multiple proxy patterns
- Historical retrieval
To install dependencies:
bun installTo run:
Make a file with one address per line
bun index.ts -f contracts.txtif you want previous / historical data.
bun index.ts -p proxy -b startBlock -m Methodexample :
bun index.ts -p 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -b 18963800 -m OZ
- you can get the method via previous file method
To test :
need timeout because we are testing with live network
bun test --timeout 1000000- Doesn't support all proxy patterns in existence
- No concurrency support to not exhaust the public nodes
- No IPC support as it's not supported by Viem yet


