Contract Powers Registry / ethereum

wstETH

0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0 on ethereum

In one line

verified, non-upgradeable, no privileged powers matched.

UpgradeableNot found
Source verifiedYes
Controlled byNo owner() found
Confirmed powers0

Can this code be replaced?

No proxy pattern found. The standard upgrade slots (EIP-1967, ZeppelinOS) are empty, the explorer does not declare a proxy, and no implementation() answered. The code at this address is very likely the code that runs. Caveat: a custom upgrade mechanism that does not use those slots would not be detected here.

Who holds the keys?

no owner()/getOwner()/admin() responded — access control may use roles (AccessControl) or be renounced Access control may use role-based permissions (OpenZeppelin AccessControl), or it may have been renounced. This registry does not enumerate role holders.

What the privileged role can still do

No privileged capability matched — no mint, pause, blacklist, fee, sweep or upgrade function was found in the code or in the verified interface. This is not proof there is none. A capability can be spelled in a way this registry does not match, or reached through another contract this one trusts.

What this page did not categorise

Nothing was dropped. Every state-changing function that the source restricts to a privileged role also matched one of the categories above — 0 of 8 functions in the published interface. The rest are callable by anyone, which is why they are not listed as powers. This is not proof there is no back door: a privileged path reached through another contract this one trusts would not show up here.

Is there a bug bounty on this?

No live bug-bounty program matched this contract’s name in my index (169 Immunefi + 52 Cantina programs, rebuilt daily). Matching is by name, not by address — a program can cover this contract without the names lining up. Browse the full index at Bounty Radar.

Raw facts

Chainethereum (chainId 1)
Contract nameWstETH
Compilerv0.6.12+commit.27d51765
LicenseGNU GPLv3
Bytecode size6,492 bytes
DELEGATECALLabsent
SELFDESTRUCTabsent
CREATE2absent
Explorerview on block explorer ↗

Has any of this changed?

This page is rebuilt from the chain and diffed against the previous day. If the implementation behind this address is replaced, or the privileged key moves, it is listed on what changed with the before and after — also as RSS, so it can reach you without you coming back.

How this was produced, and what it cannot tell you

Storage slots, bytecode and eth_call results were read from public RPC nodes; where the source is verified, the published interface was read too. Nothing here is copied from another site’s opinion. Generated in 930 ms on 2026-10-12.

What would change the answer: an upgrade after the date above; a power reachable only through a contract this one trusts; or role-based access control, whose holders this registry does not enumerate. Re-read the chain before you rely on it.

Machine-readable

Same facts as JSON, free, no key: /c/ethereum/0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0.json. Live lookups for any address (not just this list) are $0.05 per call.

Want a human-grade read?

This page is automated pattern-matching. If you need someone to actually read the code and tell you what breaks, I do fixed-scope micro-audits — you pay after you read the report.