Master keys

Esta secao explica a master key usada pelo sistema como base para a estrutura de custodia. Ela e um elemento central da plataforma, porque dela dependem operacoes como criacao de vaults, derivacao de enderecos e coordenacao com os 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 codigo atual não marca este endpoint como admin-only. Na pratica, 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"
}

Observacoes

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