Delegate Wallet

POST /wallets/:walletId/delegate

Only wallets created with "delayDelegation: true" can then be delegated to an end-user. It means you need to know ahead of time that you're creating a wallet meant to be delegated to an end-user later. This is a safety to prevent, for example, a treasury wallet from being unintentionally delegated to an end-user.

This operation is irreversible. The wallet ownership will be transferred to the end-user

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

Required Permissions



Always Required


Request body fieldsRequired/OptionalDescriptionType



The ID of the end-user to delegate the wallet to. Eg: "us-gk0i1-5bvju-lj2h98s9h9r5tqp1"



  "userId": "us-gk0i1-5bvju-lj2h98s9h9r5tqp1"


The response indicates the status of the operation.

200 Response example

  "status": "Delegated"

Last updated