Roles and permissions
Authoritative reference: the canonical role model lives in Lido's Roles & permissions doc. This page summarises the roles Northstake exposes; refer to Lido's docs for full semantics and edge cases.
For the lookup-style "which role authorizes which operation", see Role permissions matrix.
For granting and revoking roles in practice, see Assign and revoke roles.
The two personas
| Persona | Maps to | What they typically do |
|---|---|---|
| Owner | DEFAULT_ADMIN_ROLE on the Dashboard | Ultimate authority: owns the vault, grants or revokes any owner-side role, transfers ownership, executes any operation |
| Node Operator | NODE_OPERATOR_MANAGER_ROLE (and the operator sub-roles it administers) | Manage validators, manage operator sub-roles, disburse accrued operator fees |
The contract-level roles below give finer control when you need to delegate a specific capability without granting full admin.
On-chain role catalogue
Roles are grouped by the contract that enforces them. See Role permissions matrix for the inverse view (operation → required role).
Dashboard (every vault)
| Role | What it allows |
|---|---|
DEFAULT_ADMIN_ROLE | Grant and revoke all other roles |
FUND_ROLE | Fund the vault with ETH |
WITHDRAW_ROLE | Withdraw ETH back to the owner |
MINT_ROLE | Mint stETH against the vault's stake |
BURN_ROLE | Burn stETH to reduce vault obligations |
REBALANCE_ROLE | Rebalance the vault between liquid and bonded ETH |
COLLECT_VAULT_ERC20_ROLE | Sweep stray ERC-20s held by the vault |
PAUSE_BEACON_CHAIN_DEPOSITS_ROLE / RESUME_… | Halt or resume beacon-chain deposits |
REQUEST_VALIDATOR_EXIT_ROLE | Trigger a voluntary exit on a validator |
TRIGGER_VALIDATOR_WITHDRAWAL_ROLE | Trigger the withdrawal sweep on an exited validator |
NODE_OPERATOR_MANAGER_ROLE | The node operator's primary management role |
NODE_OPERATOR_FEE_EXEMPT_ROLE | Exempts a stake increase from the node-operator fee |
NODE_OPERATOR_PROVE_UNKNOWN_VALIDATOR_ROLE | Prove a validator that wasn't pre-registered |
NODE_OPERATOR_UNGUARANTEED_DEPOSIT_ROLE | Deposit without going through PDG |
Full semantics: Lido: Dashboard roles.
Pool (pool vaults only)
| Role | What it allows |
|---|---|
DEPOSIT_ROLE | Deposit into the pool (held by allowlist members when allowlist is on) |
DEPOSITS_PAUSE_ROLE / DEPOSITS_RESUME_ROLE | Halt or resume pool deposits |
ALLOW_LIST_MANAGER_ROLE | Add and remove addresses on the allowlist |
LOSS_SOCIALIZER_ROLE | Socialise a loss across pool participants |
MINTING_PAUSE_ROLE / MINTING_RESUME_ROLE | Halt or resume LP-token minting |
Withdrawal Queue (pool vaults only)
| Role | What it allows |
|---|---|
WITHDRAWALS_PAUSE_ROLE / WITHDRAWALS_RESUME_ROLE | Halt or resume new withdrawal requests |
FINALIZE_ROLE | Finalise batched withdrawals so they can be claimed |
FINALIZE_PAUSE_ROLE / FINALIZE_RESUME_ROLE | Halt or resume finalisation |
Timelock (pool vaults only)
The Timelock is an OpenZeppelin-style TimelockController that gates sensitive operations behind a delay: role grants on the Dashboard, PDG policy changes, fee-rate updates, and similar. Operations are first scheduled, then executed after the delay (or cancelled in between).
| Role | What it allows |
|---|---|
PROPOSER_ROLE | Schedule a delayed operation |
EXECUTOR_ROLE | Execute a scheduled operation once its delay has elapsed |
CANCELLER_ROLE | Cancel a scheduled operation before execution |
DEFAULT_ADMIN_ROLE | Administer the Timelock's own role set |
For governance flow and delay configuration, see Lido: Roles & permissions → Timelock.
Managing roles
Roles are granted and revoked through the Permissions tab on each vault. SVM Pro additionally exposes:
- Timelocked grants: schedule a role grant through the Timelock with the configured delay before it takes effect. Useful for sensitive permissions like
DEFAULT_ADMIN_ROLE. - Operator grid: manage which node operator addresses are valid across your account.
The full grant flow reads current holders via GET /v1/lidov3/staking-vaults/{id}/all-role-members and mutates them via the role-grant endpoints.
Related
- Role permissions matrix: operation → required role lookup
- Assign and revoke roles: granting and revoking roles in practice
- Staking pools → Allowlist:
DEPOSIT_ROLEandALLOW_LIST_MANAGER_ROLEin context - Supported staking providers: provider roster and operator grid
- Lido: Roles & permissions: authoritative reference
Updated about 5 hours ago
