# Open a hosted session

Pay $0.005 once, reuse the bound snapshot on hops. Not the merchant Session Client.

Canonical: https://402signal.com/developers/hosted-session

## Open a hosted session

Use this when you want to reuse one paid observation. A hosted session is a `/route` product. It is not the merchant [Session Client](/developers/sessions-and-invoices), which funds a seller channel.

Open costs $0.005 USDC. The window is 20 hops or 10 minutes on the bound snapshot from open. Then open again. Hops do not run a new 7-URL probe and do not call facilitator `/verify` or `/settle`. Completed misses are free. Seller payment stays with your buyer.

### Open

```
curl -sS -D - https://402signal.com/route \
  -H 'Content-Type: application/json' \
  --data '{"url":"https://seller.example/x402","session":"open","require_route_binding":true}'
```

HTTP 402 supplies the $0.005 requirements. Authorize that fee once and submit the identical request. `require_route_binding` on open can emit a v4 receipt. `wrapExactAuthorize` is the default MIT guard on that open. Hops do not use the wrap.

### Hop

Send `session=hop` and the `session_id` from open. A raw session id, or any other value, in `session` is `miss_reason=invalid_session_shape`: HTTP 200, no probe, no routing fee.

```
curl -sS -D - https://402signal.com/route \
  -H 'Content-Type: application/json' \
  --data '{"session":"hop","session_id":"0000000000000000000000000000000000000000000000000000000000000000","url":"https://seller.example/x402"}'
```

The `session_id` in the example is a schema-valid placeholder. Replace it with the real 64-hex id from open. The example `url` is optional on hop and pins the bound snapshot when present.

A hop that restores the bound winner reports `route_outcome.code=session_hop` and `next_action=none`. Optional `scheme`, `amount_atomic` and `payTo` are checked against the ceiling stored at open; a break misses and does not settle.

The ordinary 60-second observation cache applies to new listed-URL probes, not hops. [Add the local guard on open](/developers/check-offer) · [Hosted session contract](https://github.com/402signalhq/402signal/blob/main/docs/customer/start.md).

Give this task to your coding agent

```
Add a hosted 402Signal session. Read https://402signal.com/developers/hosted-session. Open with session=open at $0.005; hops are session=hop plus session_id. Do not put the session id in session. Hops must not probe or call a facilitator. This is not the merchant Session Client. wrapExactAuthorize covers open with require_route_binding; hops do not wrap. Do not request funds without existing operator authorization.
```

Copy integration brief
