/api/v1/register-keyRegister a signing key
Registers the public part of the caller's signing key so they can take part in vault approvals, reading the Bitcoin network from the derivation path and replacing any key already active on that network.
A signing key is a member's personal approval credential. This call sends only its public part: the extended public key, the path it was derived at, and optional identifying details. Private keys never leave the member's own device, and nothing you send here can be used to reconstruct one. The key registers to the caller, so each member registers their own.
You do not choose the network in the request. It is read from
derivation_path, where m/84'/0'/… is mainnet and m/84'/1'/… is testnet. A
member keeps one active key per network, so registering again for the same
network replaces the earlier key. The new key's id comes back in the message
field of the response.
Registering a key for a network that already has one replaces the key that was active on it. A vault's signer set is fixed when the vault is created, so replacing a key does not change the signer set of any vault that already lists it.
key_typestringrequiredxpubstringrequiredderivation_pathstringrequiredmaster_fingerprintstringoptionalpubkey_hexstringoptionallabelstringoptional#What happens next
The key is now available to whoever assembles a vault's approver set. It appears
in GET /api/v1/list-keys for you, and in
GET /api/v1/list-keys-workspace for members who
hold PAYMENT_INIT in the workspace. Pass its id in key_ids when you
create a vault on the same network.