Create Key
POST /keys
Creates a key for the given scheme and curve. Returns a new key entity.
Required Permissions
Keys:Create
Always Required.
Keys:Delegate
Required if delegateTo is specified.
Request Body
scheme
A supported scheme.
String
curve
A supported curve that's compatible with the chosen scheme.
String
name
Name given to the key.
String (optional)
delegateTo
ID of the end user to delegate this key to upon creation. The key will be non-custodial and can only be used by the end user.
String (optional)
delayDelegation
Specify this if you want to create the key from a service account and later delegate it to an end user. Defaults to false.
Boolean (optional)
Example
{
"scheme": "ECDSA",
"curve": "secp256k1"
}Response Body
id
ID of the key.
String
scheme
Key scheme.
String
curve
Key curve.
String
publicKey
Hex-encoded value of public key.
String
status
Status of the key, can be one of Active, Archived.
String
custodial
Whether the wallet is owned by an end user (non-custodial), or by your organization (custodial).
Boolean
imported
true if the key is imported.
Boolean (optional)
exported
true if the key was already exported at least once.
Boolean (optional)
200 Success
{
"id": "key-6ece3-9l565-xxxxxxxxxxxxxxxx",
"scheme": "ECDSA",
"curve": "secp256k1",
"publicKey": "02660461d66a637ea2d2ee3565669ad794f51ca3e0812ff03a0fe4820a19754839",
"status": "Active",
"custodial": true,
"dateCreated": "2025-03-26T20:25:52.909Z"
}Last updated