Agent declares a send from a delegated client_tss wallet
The only gate on an agent threshold signature: sign/complete hands the signature to the agent, which could broadcast it without 1Claw, so everything POST /v1/agents/{agent_id}/transactions checks before signing is checked here, in this order: the agent's guardrails (chains, allowlists, per-transaction and daily caps), the sanctions screen, the human approval policy (or the resume of an approved one), Cedar/OPA transaction policy, and M-of-N consensus (action submit_transaction). Then it builds the unsigned message, writes a prepared row to the transaction ledger (so daily caps count it from this moment) and records the prepared intent. Only a prepared message can enter /tss/sign/begin, and sign/complete and broadcast refuse (403) a prepare that recorded no ledger row. Requires a treasury delegation and a share provisioned to the agent's runtime.
Two 202 outcomes, neither of which builds a message:
- Human approval (status: awaiting_approval): a ledger row is written as awaiting_approval and an approval with action agent_tss_transaction is created. Once a human approves it, call prepare again with the same key_id, to and value and resume_tx_id set to the returned transaction_id. Rejecting the approval marks the row rejected.
- M-of-N consensus (status: pending_approval): call prepare again with the same transfer and approval_id set to the returned pending_approval_id once the approval is granted.
Request
- Base URL: https://api.1claw.co
- URL: https://api.1claw.co/v1/agents/{agent_id}/tss/prepare
- Auth: HTTP bearer
Request body
Response
Unsigned message, recorded as a prepared intent with a ledger row
Changes
No recorded changes to this operation across all 1 revision of this API.