Key Custody

Agent threshold signing, round 1

Changed on

The message must be a live prepared intent for this agent and key; its transfers are screened again.

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

Request

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

Request body

key_idstring uuid required
messagestring required

Response

Session opened

session_idstring uuid required
key_idstring uuid required
message_digeststring required

Hex SHA-256 of the message; what the passkey token was bound to.

server_commitmentsstring required

Base64 FROST signing commitments from the vault (first payload).

chainstring required
wallet_addressstring required

The wallet the transaction must spend from.

signing_payloadstring required

Base64 bytes the threshold signature covers, derived from the message by the chain's rule (Solana: the message; XRPL: its signing data; Cardano: blake2b-256 of the body; Bitcoin: the first input's BIP341 sighash). The device derives them itself and refuses on mismatch.

signing_payloadsstring[] required

Every payload (Base64), one per input for a Bitcoin transaction; signing_payload is the first. The device signs each with its own round.

server_commitments_allstring[] required

The vault's commitments, one per payload; server_commitments is the first.

expires_atstring date-time required

Changes

    • info

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

    • info

      added the non-success response with the status