Key Custody

Agent threshold signing, round 2

Changed on

Billed as a signature before signing. The signing session must trace back to a prepare that wrote a prepared ledger row; one that did not is refused with 403 ("prepare it again"). On success the row moves to signed, so it keeps counting toward daily caps whether or not the agent broadcasts through 1Claw.

post/v1/agents/{agent_id}/tss/sign/complete

Request

  • Base URL: https://api.1claw.co
  • URL: https://api.1claw.co/v1/agents/{agent_id}/tss/sign/complete
  • Auth: HTTP bearer

Request body

session_idstring uuid required
client_commitmentsstring required

Base64 FROST signing commitments from the client.

client_signature_sharestring required

Base64 FROST signature share from the client.

client_commitments_allstring[]

One per payload, in order, when the transaction has several (Bitcoin inputs). The single fields are then ignored.

client_signature_shares_allstring[]

One per payload, in order, alongside client_commitments_all.

Response

Signature

key_idstring uuid required
message_digeststring required
signaturestring required

Base64 64-byte signature over the (first) payload: Ed25519, or BIP340 for a Taproot key.

signature_hexstring required
signaturesstring[] required

Every signature (Base64), one per payload; signature is the first.

Changes

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the media type application/json for the response with the status