Nov 10, 20267 min read

Who can change the rules after you deposit into DeFi?

The vault has an owner. Who controls that account, what can it change, and how much time would your team have to respond?

JohnnyTimeFounder, Ginger Security

Your team has reviewed a vault and is comfortable with where it invests. Then someone asks: who can change that after we deposit?

The answer usually starts with an address. The vault has an owner, perhaps a curator and a few other accounts with permission to act. The treasury still needs to understand what those accounts can do. Could someone change the markets tomorrow? Could they give another wallet access? Would we have time to leave?

In my work with trading firms and institutional teams, I want those permissions explained in terms of the position. The person deciding whether to deposit needs to understand what could change while the money is there, and who can make it happen.

I followed the owner of a public Morpho vault to show how I’d start. We’ll look at the vault’s roles, follow its owner account one step further, and turn the results into a map a team can actually use. You can download the control-map template and read-only commands to repeat the checks.

Start with the power, then find the account

For this example I used Steakhouse USDC on Ethereum, the V1 vault from the earlier review. I recorded the reads at finalized block 26,290,448 on 28 October 2026, with hash 0x10c8a38ab940946fe87de9aecb891a2ae585c8e5329e2f596ecd86458ac5245a.

The first pass returned:

Read Result
owner() 0x0A0e559bc3b0950a7e448F0d4894db195b9cf8DD
curator() 0x827e86072B06674a077f592A531dcE4590aDeCdB
guardian() 0xaa0500198B4425DfC4E272FbE42C8E64E21fc03d
timelock() 604,800 seconds, or seven days

I’d inspect the deployed role checks, including inherited permissions and the accounts that can replace each role holder.

Morpho’s V1 role reference describes the owner as inheriting curator, allocator and guardian capabilities. The map needs to include the owner’s inherited powers alongside the accounts explicitly assigned those roles. This article explains the documented V1 model. I haven’t independently matched every permission to this deployment’s bytecode.

The owner has owners of its own

The vault owner points to an account reporting a threshold of five and ten owner addresses. Human independence and other role holders remain to be checked.
The next layer is the account controlling the role. The recorded reads cover only part of that account's configuration.

I’d ask how those keys are held, who can approve a transaction and whether the same operator controls several of them. Some answers require information from the team. A blockchain query can’t establish that signers are independent or that their devices are securely managed.

I’d also check alternate execution paths. Safe’s account documentation explains that enabled modules can execute under their own authorization rules. I’d check those modules before treating the owner threshold as the account’s only approval route.

For this owner address, getModulesPaginated returned an empty array and the end-of-list sentinel at the recorded block. I haven’t verified the account’s singleton code, guard, fallback handler or full signature behavior, so I wouldn’t describe the entire account as reviewed. I’d repeat this account-level work for the curator and guardian too.

What could actually change for the money?

Imagine the treasury chose the vault because it was comfortable with a particular set of lending markets. Reallocation within permitted markets can change the position’s concentration and available liquidity.

Morpho’s V1 allocation guide describes reallocating within configured boundaries. Its role reference also describes the curator’s ability to decrease caps immediately and propose increases through the timelock. I’d record those as separate actions. A role name alone doesn’t describe which changes can happen quickly.

Documented V1 power What I’d want the treasury to understand
Reallocate within market caps Exposure and withdrawal conditions can change within the permitted markets.
Propose an increased market cap A future allocation may become possible after the required delay.
Replace the curator The account making strategy decisions can change. The V1 role tutorial describes this owner action as immediate.
Revoke a pending cap increase A protective role can stop a specific pending change, subject to the contract’s rules.

For example, Morpho’s V1 role reference explicitly says the curator cannot pause withdrawals. I’d trace the actual restrictions and possible causes of a failed withdrawal, including liquidity, separately.

Seven days for which action?

The vault returned a seven-day timelock. The next question is which changes must wait.

Morpho’s V1 tutorial describes immediate curator replacement and delayed guardian replacement when a guardian already exists. The exact deployed rules and pending changes still need inspection. I’d put an action and its applicable delay on every line of the map, then trace who can change the authority or the delay itself.

For a treasury, the response window starts when someone notices the proposal. I’d assign an alert owner, decide who can approve an exit and check whether the position could be withdrawn before the change becomes executable. The monitoring guide follows that operational path. For an implementation change, the audit-to-deployment guide explains how to establish which code is running.

Removing access needs a second check

I’d verify that the address lost its permission, inspect any changes it already made and check whether it holds another role or controls another authorized account. If several roles point to the same operator, rotating one address may leave another route open.

Recovery also needs someone who can still act. I’d confirm who can revoke access, whether that account remains available during an incident, and what the team should do about pending proposals. The signer-security article covers the related problem of removing a compromised process’s signing access.

Reading permissions and watching them change

For this vault, I’d keep the block-specific reads separate from the service that watches later changes. I’d choose between managed monitoring options by testing the permissions in our map.

Tool or system Where it helps What I would verify
Foundry Cast Inspecting role holders and their controlling accounts Read owner, threshold and module state using the actual contract version. Keep raw results with the block.
Safe Operating an onchain multisig account Inspect existing modules and guards as well as signers. Verify that replacing one owner removes the intended authority.
Hypernative Monitoring role and control changes Configure the actual contracts and account dependencies. Test both an approved rotation and an unexpected grant.
Cyvers An alternative contract and wallet monitoring workflow Demonstrate the same changes and escalation path. Confirm coverage of this permission design.

Cast helps establish the state. Safe describes one account’s authorization arrangement. I’d compare Hypernative and Cyvers through a pilot that includes an alternative execution path, rather than judge them by the number of alerts advertised.

The protocol administrator and monitoring owner need to reconcile the map after every authority change. The dated reads earlier in this article don’t establish the rest of the account configuration or a monitoring deployment.

Put the permissions into a usable map

I’d bring a map with a plain-English sentence for each important action: this account can make this change, under these conditions, after this delay. Alongside it I’d list who controls the account, what was verified and which questions still need an answer.

The allocator list, remaining account configuration, human control of keys and complete deployed permission model are still open in this review.

The control-map template gives you a place to record that work. If your team needs to understand who can change a protocol you’re using, get in touch about a DeFi security review.