# Smart Contract Upgrade Tracker: Proxy and Owner Changes

> Smart contract upgrade tracker: proxy upgrades, implementation and admin changes, ownership transfers, Safe signer changes and timelock queues, week by week.

Markdown copy of https://voltfincrypto.com/apps/smart-contract-upgrade-tracker

**Question:** Which major protocol contracts changed their implementation, admin, owner or multisig signers this week?

- Kind: Dashboard in Voltfin Vantage
- Topic: [Security and risk](https://voltfincrypto.com/topics/security)
- Chains: Multi-chain, Ethereum
- Status: Planned. The data is not published yet, so this page states no figure; each figure will open its receipt when it is.

Many large protocols run upgradeable contracts: a proxy whose code can be swapped, controlled by a multisig or a timelock. A change of implementation, admin, owner or signers is the moment a protocol's rules can change, and it is also the first trace of a compromised key. This dashboard lists those changes on major protocol contracts each week, along with the upgrades already queued in timelocks.

Each change shows the contract, what changed from and to, who made the call and through which path: a timelock delay, a multisig vote or a single key. Queued timelock calls are decoded, so readers can see what will execute and when, before it does.

## Blueprint

### Changes

Implementation, admin, owner and signer changes in the selected period.

- **Implementation upgrades** (count): Proxy implementation changes on registry contracts in the selected period.
- **Admin and owner changes** (count): Proxy admin and owner changes on registry contracts in the period, renouncements included.
- **Multisig signer changes** (count): Owner, threshold, module and guard changes on the protocols' admin Safes in the period.
- **Changes made by a single key** (count): Changes in the period made by one key, with no timelock or multisig in the path.
- **Every change**: Every change with its time, protocol, contract, the values before and after, the caller, the path taken, the protocol's value locked and the transaction.

### Queued

Calls waiting in timelocks and when they can execute.

- **Calls queued now** (count): Calls queued in registry timelocks that have neither executed nor been cancelled.
- **Next call becomes executable** (hours): Time until the earliest queued call can execute, with its protocol, target and function beside it.
- **Queued calls by protocol** (count): Queued timelock calls per protocol, split into upgrades, parameter changes and transfers.
- **Timelock queue**: Each queued call with protocol, timelock, target, decoded function and arguments, the governance proposal behind it where one exists and the time it can execute.

Filters: Period (Last 7, 30 or 90 days); Chain (Ethereum and the other covered EVM chains).

## How it will be measured

- Proxy changes come from EIP-1967 Upgraded, AdminChanged and BeaconUpgraded logs, checked against the implementation and admin storage slots at the same block.
- Ownership changes come from OwnershipTransferred logs, and access-control changes from RoleGranted and RoleRevoked logs, on a registry of major protocol contracts.
- Safe multisig changes come from AddedOwner, RemovedOwner, ChangedThreshold, EnabledModule and ChangedGuard logs on the protocols' admin Safes.
- Timelock queues come from TimelockController CallScheduled, CallExecuted and Cancelled logs, with each target and its calldata decoded against the target's ABI.
- Each change is classed by its path: through a timelock, through a multisig with its threshold or by a single key.

## Data it needs

- `address_labels` (to build): Labels for known addresses: exchanges, bridges, protocols, funds, treasuries, sanctioned addresses and known attackers.
- `governance_votes` (to build): Proposals, votes, voting power and turnout in on-chain governors, with off-chain votes recorded with their source.
- `defi_tvl_daily` (to build): Assets deposited in DeFi protocols per protocol, chain and asset at day end, valued with oracle prices, never double counting receipt tokens.
- Source: EIP-1967 Upgraded, AdminChanged and BeaconUpgraded logs
- Source: OwnershipTransferred, RoleGranted and RoleRevoked logs
- Source: Safe AddedOwner, RemovedOwner, ChangedThreshold, EnabledModule and ChangedGuard logs
- Source: TimelockController CallScheduled, CallExecuted and Cancelled logs, with decoded targets and calldata
- Source: Implementation and admin storage slots via eth_getStorageAt at each change block

## Questions

### What is a smart contract upgrade?

Upgradeable contracts split into a proxy that holds the state and an implementation that holds the code. An upgrade points the proxy at a new implementation, which changes the contract's behaviour while keeping its address and balances.

### Why do contract upgrades matter for security?

Whoever can upgrade a contract can change what it does with the funds it holds. An unexpected upgrade, admin change or signer change can be a planned release or a compromised key. Delays such as timelocks give users time to see a change before it takes effect.

### What is a timelock?

A timelock is a contract that holds admin rights and executes calls only after a fixed delay from when they were queued. Queued calls are public, so a pending upgrade can be read before it takes effect, which is what the queue page shows.

### How can I tell if a contract is upgradeable?

Check whether it is a proxy: an EIP-1967 proxy stores its implementation address in a standard storage slot, which can be read with eth_getStorageAt. A non-zero value there means the proxy's admin can change the code.

### What does an ownership transfer mean?

OwnershipTransferred records that a contract's owner role moved to a new address. It can be a routine move to a multisig or timelock, a renouncement to the zero address or the first step of an attack, so each one here shows the new owner's type.

## Glossary

- **Implementation contract**: The contract holding the code a proxy runs; replacing it is what an upgrade does.
- **Proxy admin**: The address allowed to upgrade a proxy, often a multisig, a timelock or a dedicated admin contract.
- **Timelock delay**: The minimum time a timelock waits between queuing a call and executing it.
- **Safe threshold**: How many owner signatures a Safe multisig needs before it executes a transaction.

## Related apps

- [DeFi Admin Keys: Multisig Thresholds and Timelocks](https://voltfincrypto.com/apps/defi-admin-keys-multisig-timelocks)
- [Safe Multisig Checker: Owners, Threshold and Modules](https://voltfincrypto.com/apps/safe-multisig-checker)
- [Token Safety Check: Mint, Blacklist and Owner Powers](https://voltfincrypto.com/apps/token-safety-check)
- [DAO Governance Tracker: On-Chain Proposals and Votes](https://voltfincrypto.com/apps/dao-governance-tracker)
- [Crypto Hack Tracker: Exploits and Losses This Year](https://voltfincrypto.com/apps/crypto-hack-tracker)
- [North Korea Crypto Hacks: Lazarus Group Theft Tracker](https://voltfincrypto.com/apps/north-korea-crypto-hacks-tracker)

Build it in Voltfin Studio: https://app.voltfincrypto.com/signup?next=%2F
