Master keys

Esta seção explica a master key usada pelo sistema como base para a estrutura de custódia. Dela dependem operações como criação de vaults, derivação de endereços e coordenação com os cosigners.

A master key é a base da estrutura de custódia. Dela dependem operações como criação de vaults, derivação de endereços e coordenação com cosigners.

Consultar a master key atual

Endpoint: GET /admin/master-keys/current

Serve para

Consultar a master key atual e seus participantes.

Autenticação

Exige bearer token.

Importante

Apesar do prefixo /admin, o código atual não marca este endpoint como admin-only. Na prática, qualquer usuário autenticado consegue chamar este endpoint hoje.

Retorno quando existe

{
  "masterKey": {
    "id": "uuid",
    "requestId": "uuid",
    "externalMasterKeyId": "mk_123",
    "algorithm": "secp256k1",
    "status": "created",
    "createdAt": "2026-03-26T12:00:00.000Z",
    "updatedAt": "2026-03-26T12:00:00.000Z",
    "participants": ["node-a", "node-b", "node-c"]
  }
}

Retorno quando não existe

{
  "masterKey": null
}

Criar a master key inicial

Endpoint: POST /admin/master-keys

Serve para

Solicitar a criação da master key inicial.

Autenticação

Exige bearer token.

Importante

Assim como o endpoint anterior, o código atual exige autenticação, mas não exige especificamente token de admin.

Body

{
  "algorithm": "secp256k1",
  "requestId": "uuid-opcional"
}

Retorno

{
  "requestId": "uuid",
  "id": "uuid",
  "algorithm": "secp256k1",
  "status": "requested",
  "createdAt": "2026-03-26T12:00:00.000Z"
}

Observações

  • Só pode existir uma master key criada.
  • Se já existir uma ou houver geração em andamento, a API responde 409 Conflict.
  • A criação depende de haver cosigners online e ativos.