> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omegas.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Handoff

> Ask a person once, receive typed data, and redeem one effect with a durable receipt.

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.

<CardGroup cols={2}>
  <Card title="Make a request" description="Run a local server or probe the hosted capability document." href="/handoff/quickstart" icon="play" />

  <Card title="Choose an SDK" description="Use the thin Python or TypeScript clients." href="/handoff/sdks" icon="code" />
</CardGroup>

## The contract in one picture

```text theme={null}
agent creates request  →  person answers typed fields  →  receipt is redeemed once
        durable wait   ←       delivery record         ←     one effect key
```

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

## A small request

```python theme={null}
import handoff

handoff.configure(base_url="https://your-handoffd.example/v1", api_key=...)

outcome = handoff.approve("Refund $2,400 to Acme Corp?", mode="gated")
if outcome and outcome.redeem("stripe:refund:ch_1B").first_redemption:
    stripe.refund("ch_1B")
```

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.

<Tip>
  The public capability check needs no account:

  ```sh theme={null}
  curl https://handoff.omegas.dev/v1/meta
  ```

  Authenticated operations require a credential minted by the deployment or a
  self-hosted instance.
</Tip>

## Where to go next

* [Quickstart](/handoff/quickstart) — run the first request.
* [The protocol](/handoff/protocol) — read the wire model and signing rules.
* [SDKs](/handoff/sdks) — install from the repository and use Python or TypeScript.
* [Conformance](/handoff/conformance) — run the compatibility suite locally.
