Delegate Key

POST /keys/:keyId/delegate

When a key is delegated to an end user, all wallets using this key as the signing key are also automatically delegated to the same end user. Key and wallet ownerships are guaranteed to be always consistent.

In most cases, when you want to implement Delegated Signing, simply create the wallet by directly delegating it to an end user, in which case it will the non-custodial from the start. There are some rare cases, however, where the key or wallet must be created before the user has accessed to the system. To accommodate this, we've added the ability to create a key or wallet in delay delegation mode, and then later delegate it (ie. transfer ownership of it) to an end user via this endpoint.

Required Permissions

Name
Conditions

Keys:Delegate

Always Required

Parameters

Path parameters

Path parameter
Description

keyId

Unique identifier of the key.

Request Body

Field
Description
Type

userId

The ID of the end user to delegate the key to.

String

Example

{
  "userId": "us-gk0i1-5bvju-xxxxxxxxxxxxxxxx"
}

Response Body

The response indicates the status of the operation.

200 Success

{
  "keyId": "us-gk0i1-5bvju-xxxxxxxxxxxxxxxx",
  "status": "Delegated"
}

Last updated