Skip to main content
POST
/
v1
/
key_quorums
Create key quorum
curl --request POST \
  --url https://api.privy.io/v1/key_quorums \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'privy-app-id: <privy-app-id>' \
  --data '
{
  "display_name": "Prod key quorum",
  "public_keys": [
    "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEx4aoeD72yykviK+f/ckqE2CItVIG\n1rCnvC3/XZ1HgpOcMEMialRmTrqIK4oZlYd1RfxU3za/C9yjhboIuoPD3g==",
    "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErzZtQr/bMIh3Y8f9ZqseB9i/AfjQ\nhu+agbNqXcJy/TfoNqvc/Y3Mh7gIZ8ZLXQEykycx4mYSpqrxp1lBKqsZDQ=="
  ],
  "authorization_threshold": 1
}
'
{
  "id": "tb54eps4z44ed0jepousxi4n",
  "display_name": "Prod key quorum",
  "authorization_threshold": 1,
  "authorization_keys": [
    {
      "public_key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEx4aoeD72yykviK+f/ckqE2CItVIG\n1rCnvC3/XZ1HgpOcMEMialRmTrqIK4oZlYd1RfxU3za/C9yjhboIuoPD3g==",
      "display_name": null
    },
    {
      "public_key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErzZtQr/bMIh3Y8f9ZqseB9i/AfjQ\nhu+agbNqXcJy/TfoNqvc/Y3Mh7gIZ8ZLXQEykycx4mYSpqrxp1lBKqsZDQ==",
      "display_name": null
    }
  ],
  "user_ids": null
}

Documentation Index

Fetch the complete documentation index at: https://docs.privy.io/llms.txt

Use this file to discover all available pages before exploring further.

SDK methods

Learn more about creating key quorums using our SDKs here.

Authorizations

Authorization
string
header
required

Basic Auth header with your app ID as the username and your app secret as the password.

Headers

privy-app-id
string
required

ID of your Privy app.

Body

application/json

Request input for creating a key quorum. At least one of user_ids, public_keys, or key_quorum_ids is required.

public_keys
string[]

List of P-256 public keys of the keys that should be authorized to sign on the key quorum, in base64-encoded DER format. At least one of user_ids, public_keys, or key_quorum_ids is required.

Minimum array length: 1
authorization_threshold
number

The number of keys that must sign for an action to be valid. Must be less than or equal to total number of key quorum members.

Required range: x >= 1
display_name
string
Maximum string length: 50
user_ids
string[]

List of user IDs of the users that should be authorized to sign on the key quorum. At least one of user_ids, public_keys, or key_quorum_ids is required.

Minimum array length: 1
key_quorum_ids
string[]

List of key quorum IDs that should be members of this key quorum. Key quorums can only be nested 1 level deep. At least one of user_ids, public_keys, or key_quorum_ids is required.

Required array length: 1 - 5 elements

Response

200 - application/json

Newly created key quorum.

A key quorum for authorizing wallet operations.

id
string<cuid2>
required
display_name
string | null
required
Maximum string length: 50
authorization_threshold
number | null
required
Required range: x >= 1
authorization_keys
object[]
required
user_ids
string[] | null
required
key_quorum_ids
string[]

List of nested key quorum IDs that are members of this key quorum.

Required array length: 1 - 5 elements