Skip to main content
Coming soon. Quorum policies shape below may change before release.
Today a rule resolves to allow or deny. Quorum policies add a third outcome: require approval. Instead of blocking an action outright, you can require that other members sign off before it proceeds. Quorum uses the same requireApprovals block everywhere. Set how many approvals are needed and which roles can approve.
What changes is only where you attach it: to a policy layer for wallet activity, or to the business account for account changes.

Wallet actions

Attach requireApprovals to a rule on any layer you already use. It composes with the other rule fields, so a threshold and an approval requirement can be one rule:
Because layers only ever tighten, the layer you choose decides who the rule covers: A Signer-Layer requirement is the way to give one member more oversight than another. Layers cannot exempt anyone: a Signer-Layer can raise a requirement above the Account-Layer, but it can never lower it.
You can attach requireApprovals to a rule that has no other restrictions if the only requirement is approvals.

Account actions

Attach requireApprovals to the business account, keyed by the action it governs:
Only the business account owner can change these settings.

How approvals work

The flow is the same for wallet and account actions.
  1. A member takes an action as they do today (no new call).
  2. If a requirement applies, the action returns a proposal instead of completing, and eligible approvers are notified.
  3. Each approver reviews the proposal and approves it. Approvals are signed by the approver, so they cannot be forged or reassigned to a different action.
  4. Once enough approvals are collected, the action completes.
An approval is bound to the exact action that was proposed, so nothing about it can change after the fact. The amount, destination, and wallet are all fixed at proposal time.
A member cannot approve their own proposal, and each member can approve a proposal once.
The final flow may complete automatically when the last approval is received, or it may require an explicit executeProposal call. The example above shows the explicit version.

What can require approval

Quorum applies to business accounts only. A personal wallet has no second member to approve.
Last modified on August 12, 2026