I read the upgrade control of 7 tokenized treasury and gold fund tokens on Ethereum straight from the chain. Snapshot: 9 Nov 2026. Read-only; nothing was tested on live contracts.
Result (7 tokens I looked at, not a market ranking):
- 3: the upgrade owner is one externally owned address (no contract code), no on-chain delay
- 2: Safe multisig, 4-of-7, no delay found
- 1: older multisig, 3-of-6, no delay found
- 1: timelock, 24h minimum delay
What this does NOT say: that any key is stored badly (it may sit behind HSM/MPC or issuer processes that are invisible from outside), that assets are at risk, or that other controls (pauses, legal, off-chain) are missing. It only shows who can change token code on-chain.
How to reproduce with any public RPC. Three patterns cover all 7:
A) EIP-1967 proxy: read the admin slot, then ask the admin for its owner.
cast storage <token> 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
cast call <admin> "owner()(address)"
B) Owner stored on the token/proxy itself:
cast call <token> "owner()(address)"
C) Older proxy admin slot:
cast storage <token> 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b
Then check what the owner is:
cast code <owner> # empty = externally owned
getThreshold() # Safe
getMinDelay() # timelock
I am not naming the tokens: this is about the pattern, not about any one issuer. Questions I would like feedback on: is “no on-chain delay” the right thing to flag for tokenized funds, and what other control signals (pause roles, mint/burn roles) would be worth adding to a standard check?
Short version on X: it it on X: "Who can change the code of a tokenized treasury or gold fund on Ethereum, and how fast? I read the upgrade control of 7 of them straight from the chain. Snapshot: 9 Nov 2026. Read-only; nothing was tested on live contracts." / X
Corrections welcome.