Skip to main content
All handoff endpoints require Bearer token authentication.
The Handoff Ledger is a hash-chained audit trail for session context. When an agent completes a unit of work and hands control to the next agent (or a human), it creates a handoff entry: a structured record of what was done, what was protected, what risks were identified, and what should happen next. Each entry is Ed25519-signed and linked to its predecessor via a hash chain, so any tampering (reorder, delete, mutate) is cryptographically detectable.

POST /v1/handoff

Append a signed handoff to a workspace’s chain. The server resolves prev_handoff_id and prev_signature from the latest entry in the workspace — a client cannot fork the chain by supplying stale prev links.
POST https://api.prysm1.com/v1/handoff · Auth required

Request Body

string
required
The workspace this handoff belongs to. Anchors the chain.
string
required
What this agent session accomplished (1–500 chars).
string
The agent/tool handing off (e.g. "cursor", "claude-code").
string
The agent/tool receiving (e.g. "claude-code", "human").
string[]
List of file paths modified in this session.
string[]
Constraints the next agent must respect (e.g. "Do not modify public API").
object[]
Identified risks: [{"id": "r1", "description": "Auth regression risk"}].
object[]
How to verify this work is correct: [{"id": "v1", "description": "All auth tests green"}].
What the receiving agent should do first.
string
Type of work: edit | refactor | deploy | review | setup. Default: edit.
number
Estimated cost in USD for this session (informational; recorded in the signed receipt).

Response

Returns the full signed receipt. Key fields:
string
Unique handoff ID (ho_...).
string
Echoed workspace ID.
string
Echoed objective.
string | null
Previous entry’s ID (null for first entry).
object
Risk assessment: score, tier (auto/confirm/approve/block), factors.
string
The canonical JSON string that was signed.
boolean
True when an Ed25519 signing key is provisioned.
string
ISO 8601 timestamp.

GET /v1/handoff/

Fetch a single signed handoff by ID.
GET https://api.prysm1.com/v1/handoff/{handoff_id} · Auth required
string
required
The ho_... ID returned by POST /v1/handoff.

GET /v1/handoff/chain/

Fetch the full ordered handoff chain for a workspace and verify its cryptographic integrity.
GET https://api.prysm1.com/v1/handoff/chain/{workspace_id} · Auth required
string
required
The workspace whose chain to retrieve.

Response

string
handoff.chain
string
Echoed workspace ID.
integer
Total entries in the chain.
object[]
Ordered entries (oldest first).
object
Integrity verdict: ok (bool), n (entries verified), first_broken_index (null if intact), reasons (list of break descriptions), signing_enabled (bool).
string
URL to fetch the public signing key for offline verification.