Create your own
Lesson illustration

Identifying Privileged Roles and Trust Assumptions

Hello again. In the previous lesson, you separated custody, settlement, counterparty, and smart-contract risks in an Aave-style supply transaction. Those categories explain how a loss can arise. Now we examine a crucial source of several of them: who has exceptional authority over the protocol, and what must users trust them not to do—or trust them to do quickly in an emergency.

The goal is not to decide whether a protocol is “centralized” or “decentralized” based on a slogan. It is to produce a defensible inventory: every privileged role disclosed in the documentation, each role’s concrete powers, its constraints, who controls it, and the trust assumption it creates. We will use Aave’s documentation as the case study, while building a method you can apply to any DeFi protocol.


Privilege is a capability, not a job title

A privileged role is an authorization that lets an address or contract perform an action unavailable to ordinary users. “Admin,” “guardian,” “owner,” “multisig signer,” “risk steward,” and “governance executor” may all be privileged roles, but names alone are not enough.

The meaningful unit of analysis is:

Controller + permitted action + affected component + constraints

For example, “Emergency Admin” is not yet an adequate finding. A useful finding is:

The Emergency Admin can pause all protocol reserves or an individual reserve. A pause suspends specified user actions, so users must trust the authority to use this power only when justified and to remain available during an incident.

A role can be held by:

  • a single externally owned wallet;
  • a multisignature wallet requiring several signers;
  • a governance contract;
  • a timelock contract;
  • another protocol contract;
  • an automated agent that is itself limited by on-chain conditions.

The holder matters, but the power matters first. A 5-of-9 multisig is generally more resilient to one compromised key than a single wallet, but it can still have broad authority. Its signers could collude, make an error, become unavailable, or have their signing infrastructure compromised.

This distinction is especially important in DeFi, where a protocol may have many named organizations—developers, risk advisers, interface operators, auditors, delegates, or service providers—without each having direct on-chain control. Conversely, an address with an obscure label may have the most consequential authority in the system.


From documentation to an authority map

The most efficient way to find disclosed privileges is to search documentation for words that signal exceptional authority:

  • admin, owner, guardian, operator, manager, council, steward
  • only, permissioned, authorized, role, access control
  • pause, freeze, upgrade, configure, set, mint, sweep
  • multisig, timelock, veto, emergency, executor
  • governance, proposal, payload, delegate

Then turn each finding into an entry in a privilege inventory. Do not merely copy function names. Translate them into their practical effect on users and assets.

A good inventory has at least these columns:

FieldWhat to record
ComponentPool, token, oracle adapter, treasury, bridge, governance contract, interface
Role or controllerThe documentation’s exact role name and, if disclosed, its holder
Permitted actionThe function or decision it can make
User and asset impactWhat can change for suppliers, borrowers, traders, or token holders
Scope and constraintsAsset-specific or protocol-wide; caps; limits; delay; threshold; veto rights
Who can alter the roleRole admin, governance, a Safe owner set, upgrade authority
Trust assumptionA concise statement of what must remain true
Evidence and scopeDocumentation page, chain, deployment/version, and date checked

The last field prevents a common analytical error. Documentation may describe an intended architecture but not prove that every live deployment has the same configuration. Your conclusion should therefore be precise:

“This is the set of privileged roles disclosed in the reviewed documentation for this deployment scope.”

It should not be:

“There are no other privileged roles.”

Absence from the documentation is an uncertainty, not evidence of absence.


How role-based access control creates a trust hierarchy

Before examining Aave’s concrete permissions, it helps to see why complex protocols use multiple roles rather than one owner. An owner model might allow one address to control every sensitive action. A role-based model can separate routine risk management from emergency intervention and from high-impact upgrades.

Setting Up Access Control for Smart Contracts

Watch OpenZeppelin’s “Setting Up Access Control for Smart Contracts.” It explains why a DeFi system may separate authority over ordinary parameter changes from authority over emergency actions, and why the administrator of a role is often more important than the role holder itself.

In the segment on fine-grained permissions, watch role separation. Focus on the distinction between changing a fee and triggering an emergency shutdown: different actions justify different authorities. Then watch the timelock model. Notice the three questions it makes explicit: who can schedule an action, who can execute it after delay, and who can change those permissions.

The key insight is that roles usually form a hierarchy. Suppose a contract has a RISK_ADMIN that can raise a borrow cap. The next question is:

Who can grant, revoke, or replace RISK_ADMIN?

That superior authority is sometimes called a role administrator, default admin, owner, or governance authority. It is a meta-privilege: it may not change a borrow cap directly, but it controls who can.

Similarly, a timelock does not remove authority. It changes its timing:

  • It can make a proposed change visible before execution.
  • It may give users time to withdraw or reduce exposure.
  • It can allow monitoring systems and guardians to inspect an upcoming action.
  • It does not protect users if the timelock controller can be bypassed, if its delay is too short for the risk involved, or if the authority is malicious after the delay expires.

Treat a timelock as a mitigating control, not proof that governance risk has disappeared.


Aave’s configuration roles: powers that change the market

Aave’s Pool Configurator documentation is particularly useful because it groups write methods by the permissioned roles allowed to call them. Read it as an authority document, not as a developer API reference.

Pool Configurator | Aave Protocol Documentation

Read Aave Protocol Documentation’s “Pool Configurator” page to see how a protocol’s administrative authority is often disclosed through permissioned write methods. The page shows both broad emergency powers and narrower, but still economically consequential, configuration powers.

In the opening of “Pool Configurator,” read the access-control statement. It establishes that write methods are grouped by system roles. Next, in “Only Emergency Admin Methods” and “Only Emergency Or Pool Admin Methods,” read from the explanation beginning the pause powers. Focus on which user actions are suspended by a pool-level pause versus a reserve-level pause. In “Only Pool Admin Methods,” locate the subsections “updateAToken,” “updateVariableDebtToken,” “setReserveActive,” “updateBridgeProtocolFee,” and the two flash-loan-premium updates. Pay attention to the implementation and configuration powers, then continue through the fee-update descriptions. Finally, in “Only Risk Or Pool Admins Methods,” read from collateral and rate controls. Identify which parameters affect leverage, withdrawal liquidity, liquidation behavior, and the share of revenue retained by the protocol.

The documentation supports the following initial authority inventory.

Disclosed roleExamples of documented powerDirect user consequenceCore trust assumption
Asset Listing AdminInitializes reserves alongside the Pool AdminCan influence which assets, token implementations, rate strategies, incentive controllers, and treasury settings enter the marketNew assets and their dependencies are assessed correctly before listing
Pool AdminDrops or activates reserves; updates aToken and debt-token implementations; changes some fees; can pause reservesCan change market availability, fee allocation, and key reserve token implementationsThe admin will not introduce unsafe configuration or implementation changes
Emergency AdminPauses the whole protocol or individual reserves; can disable a liquidation grace period in specified circumstancesCan suspend user interactions, including actions needed to manage a positionThe authority reacts quickly to genuine threats and does not misuse a disruptive power
Risk AdminSets collateral parameters, caps, reserve factors, eMode configuration, liquidation fees, and interest-rate strategy parametersCan alter borrowing capacity, liquidation thresholds, rates, and new-deposit or new-borrow availabilityRisk changes are evidence-based, correctly configured, and made in time
Pool Admin or Risk AdminShares selected powers, such as borrowing, flash-loan, collateral, cap, and rate controlsEither role may be a path to the same economic outcomeAll holders of either role must be included in the threat model

Several subtleties matter here.

A configuration change can be economically equivalent to a rule change

Not all powerful actions are upgrades. Changing a liquidation threshold, supply cap, interest-rate strategy, or reserve factor leaves the contract bytecode untouched, yet can materially alter expected returns and risks.

For a supplier, a lower supply cap may prevent further deposits. For a borrower, a changed collateral parameter may alter the conditions under which new borrowing is possible. For the market as a whole, a new interest-rate strategy changes the incentives for supplying and borrowing.

Therefore, do not write “the protocol has no upgrade risk” and stop there. Ask also whether administrators can reconfigure the economics without upgrading code.

Emergency powers are protective and disruptive

Pausing is commonly designed to limit damage during an exploit, oracle problem, or market emergency. But a pause can also prevent normal actions. The documentation states that a fully paused pool suspends protocol interactions, and that a paused reserve suspends supply, borrow, repay, liquidation, and aToken transfers.

That yields two distinct trust assumptions:

  1. Integrity: authorized parties will not pause arbitrarily or selectively for improper reasons.
  2. Availability and judgment: authorized parties can recognize a real emergency and act quickly enough.

A security mechanism can reduce one risk while creating another. The correct conclusion is not “a pause function is bad”; it is “a pause function is material authority whose governance and operational controls must be assessed.”


Governance, multisignatures, guardians, and stewards

Pool roles tell us what permissions exist. Governance documentation helps identify who is intended to exercise them and what procedural controls sit around high-impact changes.

Governance | Aave Protocol Documentation

Read Aave’s “Governance” documentation to connect privileged protocol roles to their stated controllers, multisignature thresholds, delegated parameter authority, and the governance process through which broader changes are executed.

In “Community,” read the “Guardians” subsection, beginning with the guardian descriptions. Record the distinct functions and signature thresholds of the Protocol Emergency Guardian and Governance Emergency Guardian. Then read the “Stewards” subsection from the steward rationale through the tables for GHO-related stewards and the Risk Steward. Focus on the permitted range and frequency of changes, not just the fact that delegation exists. Finally, in “Processes,” find “Proposal Lifecycle,” item 6, “Execution.” Read the execution-delay description. Treat the stated timelock as a control to record alongside governance authority, rather than as a substitute for analyzing that authority.

Aave’s documentation distinguishes two guardian multisignatures:

  • The Protocol Emergency Guardian holds the EMERGENCY_ADMIN role for Aave markets and has a stated role in cross-chain emergency mode. The documentation identifies it as a 4-of-7 multisig.
  • The Governance Emergency Guardian can veto an on-chain payload it considers malicious. It is described as a 5-of-9 multisig of community-elected signers.

These are separate powers and should be separate inventory entries. The first is an operational market-protection authority; the second is a governance-process intervention authority.

The documentation also describes stewards, delegated authorities intended to make bounded parameter changes faster than a full DAO vote. Their scopes include specified GHO and liquidity parameters, while the Risk Steward has stated limits on change frequency and maximum cap increases.

A bounded role is still privileged. “Limited” should prompt you to record:

  • the maximum allowed change;
  • whether the limit applies per transaction or over a time period;
  • whether decreases and increases have different constraints;
  • whether the role can change a parameter repeatedly;
  • who granted the stewardship and who can revoke it.

Read operational diagrams as trust maps, not decoration

The following Aave risk-update flow diagram illustrates a narrower operational process: risk updates originate with a Risk Pilot and Edge Risk Oracle, pass through automated and contract components, may be cancelled by guardian roles, and are applied after the Permissioned Payloads Controller process.

Aave’s risk-update flow: a Risk Pilot and Edge Risk Oracle provide an update that passes through Aave governance components; designated Risk Guardian and Protocol Guardian actors can cancel a proposed payload, while the PPC Executor applies the payload to the Aave Protocol after the depicted timelock.

Use a diagram like this to distinguish four different kinds of actor:

Diagram actor typeHow to classify it
Input providerMay not directly control funds, but the protocol may rely on the quality, availability, and integrity of its recommendations or data
Automation agentMay trigger an action, but may be permissionless or restricted by contract rules; do not automatically label it privileged
Guardian or cancellerHas an explicit intervention power; record exactly what it can cancel and whether it can also execute or modify an update
Executor or controllerMay enact an approved payload; determine whether execution is permissionless, threshold-controlled, or subject to a timelock

The diagram identifies Chaos Labs and LlamaRisk-related functions in a risk-update process. Their existence as service providers or risk actors does not, by itself, prove that each organization can unilaterally change Aave parameters. The relevant question is whether the contracts grant their addresses a callable permission, whether their input is merely advisory, and whether another layer must approve the update.

Likewise, the Aave Robot is shown participating in the operational flow. Governance documentation states that the robot automates certain permissionless governance actions. An automated executor may matter operationally, especially for speed and availability, without being a privileged controller. Always separate:

  • who can recommend an action;
  • who can submit an action;
  • who can approve it;
  • who can veto or cancel it;
  • who can execute it;
  • who can change those rules.

Turning privileges into explicit trust assumptions

For each inventory entry, write one assumption that could be false in a meaningful failure scenario. Avoid vague language such as “trust the team.”

Here are stronger formulations:

AuthorityWeak wordingUseful trust assumption
Pool Admin“Trust Aave admins.”The entity controlling Pool Admin will not deploy an unsafe reserve-token implementation or misconfigure a reserve’s treasury and incentive settings.
Risk Admin“Trust risk managers.”Risk parameter changes will remain within safe bounds for asset liquidity, volatility, concentration, and oracle reliability.
Emergency Guardian“The multisig is secure.”At least the signature threshold remains uncompromised, sufficiently independent, and available to respond without unjustifiably freezing users.
Governance Emergency Guardian“Veto prevents bad proposals.”Guardian signers can identify malicious payloads in time and will use veto power according to a defensible security standard.
Timelocked governance“The DAO is decentralized.”Voting and execution thresholds resist capture, the timelock cannot be bypassed, and users have enough notice to react to material changes.
Steward“Limits make it safe.”The stated bounds, cadence, and revocation process constrain changes enough that delegated action cannot create unacceptable risk.
Risk oracle or adviser“Risk updates are professional.”Recommendations and data entering the process are accurate, timely, and cannot be manipulated into causing an unsafe payload.

Notice that a trust assumption can concern honesty, competence, key security, availability, or governance legitimacy. They are different assumptions and should not be collapsed into one score.

A further distinction is essential:

  • A permissionless action can be performed by anyone once predefined conditions are met. It usually creates an execution or availability dependency, not discretionary privileged authority.
  • A permissioned action can be performed only by specified accounts or contracts. It creates an access-control trust assumption.
  • A governance-approved action may still be permissioned at execution time. It creates both governance and execution-path assumptions.
  • An automated action may be permissionless but dependent on a bot actually acting. That is an operational availability assumption.

A reusable “privilege pass” for any protocol

When reviewing protocol documentation, perform this pass in order:

  1. Set the scope. Record the protocol version, chain deployment, asset market, and date of review. A multichain protocol may assign different controllers on different networks.

  2. Collect all disclosed authority labels. Search documentation, governance pages, deployment pages, security sections, and parameter-management guides. Include named roles and generic labels such as “owner” or “multisig.”

  3. Translate each authority into actions. For every role, record all documented write actions. Group related functions only when they have the same practical effect.

  4. Measure scope. Ask whether the authority is protocol-wide, asset-specific, chain-specific, temporary, capped, delayed, or revocable.

  5. Find the actual controller. Is it a wallet, multisig, governance contract, timelock, or another contract? If it is a multisig, record its threshold and signer count where disclosed.

  6. Trace the meta-authority. Determine who can replace signers, grant a role, change its threshold, upgrade its controlling contract, or bypass a timelock.

  7. Write the trust assumption. State the specific condition users rely on, including integrity, competence, availability, and constraints.

  8. Record uncertainty. Mark facts not disclosed in the reviewed documentation: signer identities, key-management practices, whether roles differ across deployments, or whether an emergency action can be reversed.

A concise analyst note for the Aave-style USDC supplier from earlier lessons might read:

A supplier relies on role-based access controls governing the lending market. The Pool Admin and Asset Listing Admin have authority over reserve configuration and, in some cases, token implementations. The Risk Admin and Pool Admin can alter parameters that affect borrowing, collateralization, caps, and interest-rate behavior. Emergency authority can pause protocol or reserve interactions, creating both incident-response protection and availability risk. Governance and guardian multisignatures provide procedural and emergency controls, while timelocks and bounded stewardship constrain some actions but do not eliminate governance or key-compromise risk. The documentation reviewed identifies these roles, but live controller addresses and role assignments should be verified separately for the exact deployment.


Key takeaways

Privileged roles are not a footnote to a DeFi protocol’s design. They are part of its security model and economic rulebook.

  • Analyze privilege as controller, action, scope, constraint, and trust assumption.
  • A named organization is not necessarily privileged; a contract-level authorization is the relevant evidence.
  • Configuration authority can materially change user risk even without a code upgrade.
  • Emergency powers are valuable safeguards, but they also create integrity and availability assumptions.
  • Multisignatures reduce single-key risk but introduce threshold, signer-independence, and coordination assumptions.
  • Timelocks and bounded stewards are meaningful controls, not eliminations of authority.
  • The highest-level question is always: who can change who has power?

Next, you will follow the money rather than the permissions: separating user fees, protocol revenue, liquidity-provider earnings, token incentives, and value leakage.

Can't find a good explanation? Sign up and we'll make it for you

Sign up