LayerCover

Access Controls

Permission system and role-based access control in LayerCover

TL;DR: The live protocol uses three main operational roles: owner/admin, guardian, and committee. Exact multisig and timelock posture is deployment-specific.

LayerCover uses a role-based access control model centered on explicit contract permissions. The contracts define who can configure parameters, who can trigger emergency controls, and who can report incidents. Whether those roles sit behind EOAs, multisigs, or timelocks depends on deployment.


Role Hierarchy


Role Summary

RoleControl TypePrimary ResponsibilitiesKey Restrictions
Owner/AdminContract ownerProtocol parameters, upgrades, dependency pointers, economic configurationExact operational wrapper is deployment-specific
GuardianDedicated emergency rolePause issuance / matcher flows, change capital-pool system mode, other fast safety actionsNarrower than owner; not the general config role
CommitteeConfigured addressReport incidents and redirect pool fee recipients during incidentsLimited incident-oriented surface
Fee RecipientProtocol treasuryPassive fee collectionNo special permissions

Core Permissions

ContractOwner / AdminGuardianCommitteePublic / User
PolicyManagerConfigures governance and yield settings, reinsurance enablement, premium sweep operationssetIssuancePaused()·policy purchase / cancel / lapse flows
IntentMatcherOwner sets core configpause / unpause·match execution, nonce invalidation
RiskManagerConfigures committee, optimistic resolver, blacklists, salvage sweepowner also sets guardianreportIncident(), setPoolFeeRecipient() once committee is configuredclaim processing
CapitalPoolConfigures deposit cap, backstop buffer, draw limitssetSystemMode() is guardian-or-owner·deposits / minting
PoolAllocationsConfigures leverage limits, mutex groups, pool caps··internal / manager-driven allocation hooks
PoolRegistryCreates pools and sets ratings / caps / reinsurer approvals·incident routing happens through RiskManager / ProtocolConfigurator, not an on-chain vote systemread / view helpers

The docs should not be read as a promise that every deployment uses multisigs or timelocks for these roles. The contracts define permissions; the deployment determines operational custody.


Deployment Guidance

For production deployments, the intended hardening pattern is:

  1. place owner roles behind a multisig or timelock
  2. use a separate guardian for fast emergency response
  3. set a committee address only if incident routing is operationally staffed
  4. verify treasury and fee-recipient addresses before enabling live premium flows


Last updated: February 2026