Using key quorums
You can specify the key quorum ID as the owner_id
when creating a wallet or policy, which will require the quorum to sign for updates to the resource.
Taking actions with wallets
Signatures from the wallet’s owner are also required to take actions on a wallet. You can grant permissions to additional keys or quorums by specifying them as additional_signers
on the wallet.
Collecting required signatures
To make requests with a wallet with quorum approvals, you’ll need to:
- Generate the authorization signature payload for the request
- Obtain signatures from the required number of authorization keys
- Combine the signatures for submission
See generating signatures for examples.
Each authorization signature must be created with the exact same payload to be valid.
For distributed approvals, consider implementing a central coordinator service that collects signatures from each authorizer before submitting the request to Privy.
Submitting multi-signature requests
Once you’ve collected the required signatures, combine them in a comma-separated list and include them in the privy-authorization-signature header:
Privy validates that:
- The required number of signatures are provided
- All signatures are valid for the request payload
- All signatures come from authorization keys for the wallet
If any validation fails, the request is rejected.
Securing your authorization flow
For production systems using quorum approvals, consider these best practices:
- Store authorization keys in secure environments
- Maintain comprehensive logs of authorization requests and signatures
- For wallets with quorum approvals, always make sure authorization keys are managed by different entities
Quorum approvals can be combined with policies for even stronger security guarantees.
Was this page helpful?