Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

A five-call RPC check finds 5 unlisted Morpho vaults with no timelock and one EOA owner

Scanning 146 Morpho vaults on-chain, a dev.to author found timelocks on all 122 listed ones and none on 5 unlisted vaults holding about $305M. The method is five RPC calls on any proxy, and in the Morpho data the timelock decides whether depositors get a warning window.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying A five-call RPC check finds 5 unlisted Morpho vaults with no timelock and one EOA owner
Generated illustration
Single keys control listed and unlisted vaults Vault holdings and owner or curator keys for Morpho vaults, as reported in a dev.to post. Dollar figures are approximate.

Three figures: one unlisted Morpho vault with zero timelock and a single-EOA owner holds $283M, of about $305M across five such unlisted vaults. 22 listed vaults whose owner or curator is a single key hold about $1.3B. Listed vaults typically have a timelock of 3 to 7 days.

Single keys control listed and unlisted vaults
FigureValueNoteClaim
One unlisted vault, zero timelock, single-EOA owner$283Mabout $305M across the five unlisted14
22 listed vaults with a single-key owner or curator$1.3B aboutsingle EOA or Safe with one EOA signer12
Timelock in listed vaults3 days, fromtypically 3 to 7 days11

What happened

  • A curator who can enable a new market in V1, or add an adapter and raise its cap in V2, can route deposits to a new destination, and both versions gate that behind a vault-level timelock.
  • 22 of the listed vaults, holding about $1.3B, are controlled by one key: the owner or curator is either an EOA or a Safe whose only signer is a single EOA.
  • USDC on Base returns zero on all three EIP-1967 slots, which looks like not upgradeable, yet it is upgradeable through the older ZeppelinOS slots.
  • By one count the post cites, leaked or stolen admin keys overtook smart-contract bugs in 2026 as the biggest cause of DeFi losses, at least $1.3B from January to August.

Why it matters

  • exposure If the single EOA owner of the $283M unlisted vault is compromised, depositors would have no timelock window in which to exit.
  • contradiction The post opens on key theft as the leading loss cause, but its own Morpho data has 22 single-key vaults that it judges a transparency point because of the 3-to-7-day delay.
  • constraint A chain scan sees keys and delays, not custody, so the $1.3B in single-key vaults counts EOAs that may sit behind an HSM or MPC.

The check is a walk, and several steps return a clean wrong answer. Step one is three `cast storage` reads of the EIP-1967 implementation, admin and beacon slots [2]. Some proxies never put the admin in storage. On Aave's pool proxies it is compiled into the bytecode as an immutable, so the route runs through ADDRESSES_PROVIDER() and that contract's owner(). Aragon apps, Lido's stETH among them, upgrade through the DAO kernel's ACL, which you reach with kernel() [4]. A UUPS proxy has an implementation and no admin, so the upgrade right usually sits behind owner() or an AccessControl role. An OpenZeppelin ProxyAdmin is only a hop to its own owner() [15].

Then classify the address. `cast code` returning 0x means an EOA, which is one private key. A Safe answers getThreshold(), an OpenZeppelin TimelockController answers getMinDelay(), and a Compound-style timelock answers delay() [5]. Recurse into Safe owners, because a 1-of-1 or 1-of-3 Safe lets one signature move everything [6]. A rate-limited public node that returns an error is easy to misread as an empty slot, so the post says to retry against a second endpoint before concluding anything [8].

The Morpho scan covered vaults holding at least $2M according to the Morpho API, and it ran on 2026-10-13 [10]. Of the 122 listed vaults, 22 had single-key control, about 18% [16]. The post calls that a governance-transparency point and not an emergency, and says some of those signers are probably MPC-backed [13]. The unlisted five are lopsided: $283M of the $305M sits in one vault, about 93%, and the other four share about $22M [18][19][14]. The scan covered 146 vaults, so 24 sit outside the listed group [17]. The post as available describes five of them.

The $1.3B in the post's opening statistic and the $1.3B in the 22 vaults are unrelated figures. The first is losses from January to August, taken from a count the post does not name [20]. The second is deposits [12].

Wasabi is the closer analogue to the unlisted five. According to CoinDesk, as cited in the post, Wasabi lost about $4.5M in April because a single deployer EOA could upgrade its contracts [21]. In our view the Morpho evidence supports a narrower claim than the post's framing. Single-key control behind a 3-to-7-day window is a transparency finding by the post's own judgement. Single-key control with no window is the case that matches Wasabi.

The 3-to-7-day figure describes Morpho vaults above $2M on one date [11]. It transfers to another protocol only if that protocol also gates its upgrade path behind a delay.

What to watch

  • A rescan showing the $283M unlisted vault has added a timelock or moved its owner to a multisig would close the largest exposure in this data.
  • Any loss at one of the 22 listed single-EOA vaults inside its 3-to-7-day window would test whether depositors actually use the delay.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence55
Adoption
Insufficient
Hype gap+10
Incentives45
Confidence60
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    An audit tells you whether the code is safe but not who can replace the code tomorrow; that can be checked in about five RPC calls with Foundry's cast.

    ReportedSupportedSource: dev.to postView cited source
  2. [2]

    Most upgradeable contracts keep the implementation address in a fixed EIP-1967 storage slot; the check reads the implementation, admin and beacon slots with cast storage.

    ReportedSupportedSource: dev.to postView cited source
  3. [3]

    USDC on Base returns zero for all three EIP-1967 slots, which looks like not upgradeable, but it is upgradeable and uses the older ZeppelinOS slots.

    ReportedSupportedSource: dev.to postView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · October 13, 2026

    Who can upgrade this contract? Five RPC calls, five traps, and 146 Morpho vaults

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Entities

Loading related stories