Contract Powers Registry / polygon

Aave v3 Pool (Polygon)

0x794a61358d6845594f94dc1db02a252b5b4814ad on polygon

In one line: upgradeable proxy (eip1967.implementation); retained powers: mint, sweep, upgrade.

UpgradeableYes
Source verifiedYes
Controlled byNo owner() found
Confirmed powers3

Can this code be replaced?

Yes — this is a proxy. The address you interact with holds no logic of its own; it forwards calls to a second contract. Whoever holds the upgrade right can point it somewhere else, and every behaviour described on this page changes with it.

Patterneip1967.implementation
Current logic0x6030db989d47cd74fc17bb6f4fcd3a8b29fee57e
Logic namePoolInstance
Logic source verifiedYes
Raw storage evidence (1)

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

Each card is a capability found in the code. declared = the contract’s published interface exposes it. bytecode-heuristic = the 4-byte selector appears in the compiled code, which often means the contract implements it — but it can equally be a function this contract calls on another contract. Only a verified source settles that.

New tokens can be created

declared

Supply is not fixed by the code — the privileged role can issue more.

Evidence (1)
  • mintToTreasury(address[]) implementation-abi

Tokens can be pulled out

declared

A rescue/sweep path exists that moves tokens held by the contract.

Evidence (1)
  • rescueTokens(address,address,uint256) implementation-abi

Code can be replaced

declared

The logic behind this address can be swapped for different code. Everything below can change with it.

Evidence (4)
  • upgradeTo(address) abi
  • upgradeToAndCall(address,bytes) abi
  • upgradeTo(address) bytecode-selector
  • upgradeToAndCall(address,bytes) bytecode-selector

Is there a bug bounty on this?

No live bug-bounty program matched this contract’s name in my index (186 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

Chainpolygon (chainId 137)
Contract nameInitializableImmutableAdminUpgradeabilityProxy
Compilerv0.8.10+commit.fc410830
LicenseGNU AGPLv3
Bytecode size2,400 bytes (logic: 21,146)
DELEGATECALLpresent
SELFDESTRUCTabsent
CREATE2absent
Explorerview on block explorer ↗

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 1820 ms on 2026-08-29.

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/polygon/0x794a61358d6845594f94dc1db02a252b5b4814ad.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.