{"uid":"cap_omz4cbqQ1Gu6MJ1SVjSbo","slug":"skills-onesource-io-75006580","name":"skills.onesource.io Proxy Pattern Detector","description":"Detect upgradeable proxy patterns (EIP-1967, UUPS, Transparent) via eth_getStorageAt - returns the implementation address behind a proxy","url":"https://skills.onesource.io/api/chain/proxy/:address","method":"GET","headers":{},"bodySchema":null,"responseSchema":null,"example":{"request":{"address":"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984","network":"ethereum"},"response":{"data":{"address":"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984","is_proxy":true,"proxy_type":"slot0","is_contract":true,"implementation":"0x0000000000000000033b2e3c9fd0803ce8000000"},"meta":{"endpoint":"/api/chain/proxy/0x1f9840a85d5af5bf1d1762f925bdaddc4201f984","request_id":"ef75a22bbb686568"}}},"exampleRequest":{"address":"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984","network":"ethereum"},"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_5XVqRSmBLfeYW4ZMu0a2o","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Detects upgradeable proxy patterns (EIP-1967, UUPS, Transparent) for a given Ethereum address and returns the implementation contract address behind the proxy","exampleAgentPrompt":"Is the contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum a proxy, and if so what's the implementation address behind it?","exampleUseCases":null,"resultDescription":"Returns the queried address, a boolean indicating whether it is a proxy, the proxy type (e.g. EIP-1967, UUPS, Transparent, slot0), a boolean indicating whether it is a contract, and the implementation address the proxy delegates to.","failureModes":["Invalid address format — returns error if address is not a valid 0x-prefixed 40-character hex string","Non-proxy contract — is_proxy returns false and implementation may be null or zero address","Unsupported network — returns error if network enum value is not one of: ethereum, sepolia, avax, megaeth, megaeth-testnet, base","Address is an EOA (externally owned account) — is_contract returns false","RPC node unavailable — upstream eth_getStorageAt call fails, returning 5xx error","Unknown proxy pattern — contract may use a non-standard storage slot not detected by the service"],"whenToPreferThis":"Use this endpoint when you need to determine whether a given Ethereum (or supported EVM chain) smart contract is an upgradeable proxy and want to resolve the actual implementation contract address. Particularly useful for auditing, security analysis, or when interacting with DeFi protocols where contracts may have been upgraded. Prefer over manual eth_getStorageAt calls as it handles EIP-1967, UUPS, and Transparent proxy detection automatically.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:03:58.543Z","isFirstParty":false}