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
    }
  ]
}

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
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.

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.

Response

200 - application/json

Newly created key quorum.

A key quorum for authorizing wallet operations.

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