---
title: "Agent threshold signing, round 1"
method: POST
path: "/v1/agents/{agent_id}/tss/sign/begin"
tags: ["Key Custody"]
---

# Agent threshold signing, round 1

`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

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

## Request body

- object
  - `key_id` string, uuid, required
  - `message` string, required

## Response `201`

Session opened

- TssSignBeginResponse
  - `session_id` string, uuid, required
  - `key_id` string, uuid, required
  - `message_digest` string, required: Hex SHA-256 of the message; what the passkey token was bound to.
  - `server_commitments` string, required: Base64 FROST signing commitments from the vault (first payload).
  - `chain` string, required
  - `wallet_address` string, required: The wallet the transaction must spend from.
  - `signing_payload` string, 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_payloads` string[], 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_all` string[], required: The vault's commitments, one per payload; `server_commitments` is the first.
  - `expires_at` string, date-time, required

## Other responses

- `400`: Invalid request
- `401`: Authentication required or invalid
- `403`: Insufficient permissions
- `404`: Resource not found

## Changes

- **2026-10-20** `5fa0918f3b41`: 2 info
  - added the media type `application/json` for the response with the status `201`
  - added the non-success response with the status `400`

[Operation history](https://skmtc.dev/1claw/apis/1claw-api/changes/v1/agents/:agent_id/tss/sign/begin/post.md)

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
