# DeFi Admin Keys: Multisig Thresholds and Timelocks

> DeFi admin keys by protocol: who holds upgrade and owner powers, how many multisig signers must agree and how long each timelock delays a change.

Markdown copy of https://voltfincrypto.com/apps/defi-admin-keys-multisig-timelocks

**Question:** Who can upgrade or move funds in each major protocol, how many signers must agree and how long is the timelock?

- Kind: Table in Voltfin Strata
- Topic: [DeFi](https://voltfincrypto.com/topics/defi)
- Chains: Multi-chain, Ethereum, Arbitrum, Base, Solana
- Status: Planned. The data is not published yet, so this page states no figure; each figure will open its receipt when it is.

Most DeFi protocols can be changed after launch. A proxy admin can swap the code behind a contract and an owner can change parameters or move funds. Those powers usually sit with a multisig, a timelock or a governance contract. This table shows, for each major protocol, who holds each power, how many signers must agree and how long a change must wait before it can run.

Every row comes from contract state: the EIP-1967 admin and implementation slots, owner() and role assignments, a Safe's owners and threshold and a timelock's minimum delay. It describes control, not quality: a short delay or a low threshold is a fact to weigh, not a verdict on a protocol. Each row links to the reads behind it.

## Blueprint

One row: One row per protocol contract and power, such as upgrade, pause or move funds, at a pinned block

- **Protocol** (`protocol`): The protocol the contract belongs to, from the protocol registry.
- **Contract** (`contract`): The contract whose control the row describes, linked to its code.
- **Chain** (`chain`): The chain the contract is deployed on.
- **Power** (`power`): What the holder can do: upgrade code, change parameters, pause, mint or move funds.
- **Held by** (`holder_type`): Whether the power sits with a single key, a Safe, a timelock, a governor or nobody.
- **Holder** (`holder`): The address that holds the power, labelled where a public source supports the label.
- **Threshold** (`threshold`): For a multisig holder, the signers required out of the total, such as three of five.
- **Timelock delay** (`timelock_delay`, hours): The minimum wait between queueing and executing a change through this path, or none.
- **Safe modules** (`modules`): Modules enabled on the holder Safe, each able to act without the threshold.
- **Value at stake** (`tvl_guarded`, USD): Value locked in the contracts this power can change, from the same day's value locked figures.
- **Last change** (`last_change`): When the holder, threshold or delay last changed, from the logs.
- **Receipt** (`receipt`): The block, storage slots and calls behind the row.

## How it will be measured

- Proxies are found from the EIP-1967 implementation and admin storage slots, read with eth_getStorageAt at a pinned block, and followed to the contract that can upgrade them.
- Owners and roles come from owner() calls and AccessControl RoleGranted and RoleRevoked logs, replayed to find the current holder of each role.
- Where a holder is a Safe, getOwners(), getThreshold() and getModulesPaginated() give its signers, threshold and modules; a module can act without the threshold and is listed as a power of its own.
- Timelocks are read from TimelockController getMinDelay() or a Compound-style Timelock delay(); a power with no timelock on its path is shown as immediate.
- On Solana, a program's upgrade authority is read from its program data account; a program with no upgrade authority cannot be changed.

## Data it needs

- `address_labels` (to build): Labels for known addresses: exchanges, bridges, protocols, funds, treasuries, sanctioned addresses and known attackers.
- `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.
- `governance_votes` (to build): Proposals, votes, voting power and turnout in on-chain governors, with off-chain votes recorded with their source.
- Source: EIP-1967 admin and implementation slots via eth_getStorageAt for protocol proxies
- Source: owner() reads and AccessControl RoleGranted and RoleRevoked logs
- Source: Safe getOwners(), getThreshold() and getModulesPaginated() for admin multisigs
- Source: TimelockController getMinDelay() and Compound-style Timelock delay()
- Source: Solana program data accounts for each program's upgrade authority

## Questions

### What is an admin key in DeFi?

Any address with special power over a protocol's contracts: upgrading their code, pausing them, changing parameters or moving funds. It can be a single wallet, a multisig, a timelock or a governance contract.

### What does a multisig threshold mean?

A multisig needs a set number of its signers to approve each transaction, such as three of five. A higher threshold makes one stolen key less dangerous, though how independent the signers are matters as much as how many there are.

### Why do timelocks matter?

A timelock forces a wait between when a change is queued and when it can run. During that window anyone can see the pending change on-chain and withdraw if they disagree, which is why a missing or very short delay is worth noticing.

### Is a protocol with admin keys unsafe?

Admin keys are a trade-off. They let teams fix bugs and respond to attacks, and they also let a compromised or malicious key change the rules. This table shows who holds each power and what stands in its way, so readers can weigh that trade-off themselves.

### What is an upgradeable proxy?

A contract that forwards every call to a separate implementation contract whose address can be changed. Users keep interacting with the same address while the code behind it can be replaced by whoever controls the proxy.

## Glossary

- **Proxy admin**: The address allowed to change a proxy's implementation, stored in the EIP-1967 admin slot or set by the proxy's own upgrade logic.
- **Safe**: A widely used smart-contract multisig wallet that executes a transaction only with a set threshold of owner signatures.
- **Timelock**: A contract that holds queued transactions for a minimum delay before anyone can execute them.
- **Safe module**: An extension enabled on a Safe that can execute transactions without the usual signer threshold.

## Related apps

- [Safe Multisig Checker: Owners, Threshold and Modules](https://voltfincrypto.com/apps/safe-multisig-checker)
- [Smart Contract Upgrade Tracker: Proxy and Owner Changes](https://voltfincrypto.com/apps/smart-contract-upgrade-tracker)
- [Token Safety Check: Mint, Blacklist and Owner Powers](https://voltfincrypto.com/apps/token-safety-check)
- [Crypto Hack Tracker: Exploits and Losses This Year](https://voltfincrypto.com/apps/crypto-hack-tracker)
- [DAO Governance Tracker: On-Chain Proposals and Votes](https://voltfincrypto.com/apps/dao-governance-tracker)
- [DeFi TVL by Chain: Total Value Locked Rankings](https://voltfincrypto.com/apps/defi-tvl-by-chain)

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