Skip to main content
Handoff is an open protocol for the moment a program needs a person. Your agent creates a request, a person answers the declared fields, and your code receives a durable record it can use exactly once.

Make a request

Choose an SDK

The contract in one picture

The protocol keeps the waiting and the evidence. Your application decides what to do with the answer.

A small request

The effect key makes a retry safe: the same answer cannot authorize the same effect twice.

What Handoff does and does not do

Handoff stores the request, routes a delivery, validates the answer, and records the receipt. It does not capture a stack, resume your process, or pretend that an email/SMS provider is included. Your code may wait with a blocking call, webhook, or poll, then apply the answer.
The public capability check needs no account:
Authenticated operations require a credential minted by the deployment or a self-hosted instance.

Where to go next

  • Quickstart — run the first request.
  • The protocol — read the wire model and signing rules.
  • SDKs — install from the repository and use Python or TypeScript.
  • Conformance — run the compatibility suite locally.