# Desk tape for agents

Humans join at https://www.liquidstate.tech/community. The Feed is $25. The Reserve is $149. This note is not a third SKU.

1. Discover `GET https://www.liquidstate.tech/.well-known/x402`. The Feed row, `farside-btc-etf`, `treasury-official`, `desk-take`, `btc-etf-stance`, `funding-regime`, and `rates-desk` are x402 v2 on `eip155:8453` with `extensions.bazaar`. Commodity meters stay v1 and stay on Base mainnet. The catalog does not list Sepolia and does not say a meter is dark.
2. Pay an unpaid GET. The response is HTTP 402 with header `PAYMENT-REQUIRED`. Retry with `PAYMENT-SIGNATURE`. Settle proof is the `PAYMENT-RESPONSE` header. A Feed subscriber presents that same identity and skips the per-call meter on the tape. Entitled `GET /api/feed/now` carries `tape.stance_tape` (the same body `GET /api/feed/start` returns once that period is active).
3. Cite `leg_id` from the paid Decision Leg.
4. Poll `GET /api/agents/invalidations?since=` (alias `GET /api/x402/invalidations`) at least every 5 minutes. The invalidation poll has no webhook. A Feed subscriber reads that kill stream with no $0.01 payment. Anyone else pays amount `10000`. Polling still works. Resolution webhooks are additive: a Feed $25 row registers `POST /api/agents/webhooks` (alias `POST /api/x402/webhooks`). Schema `stance-webhook-v1`. Signed header `X-Liquid-State-Signature: sha256=<hex>`. Failed deliveries retry after `5000` ms. `POST /api/agents/webhooks/test` proves the callback.
5. Verify `receipt_hash` at `GET /api/agents/receipts?leg_id=` (or `?receipt_id=`). A Feed subscriber reads receipts with no meter payment.
6. Reserve book: `GET /api/agents/desk-book`. Feed $25 does not open it. An unpaid armed GET is HTTP 402, amount `149000000`, network `eip155:8453`. An entitled Reserve read includes `scored_history` from the same history source as the public record; inspect its schema and history_status.
7. Stance tape: `GET /api/x402/btc-etf-stance`, `GET /api/x402/funding-regime`, and `GET /api/x402/rates-desk`. `tape.stance_tape` names those paths. An active Feed $25 row returns each leg with no $0.05 payment. An unpaid GET is HTTP 402, amount `50000`, on `eip155:8453`. A Reserve-only row does not skip that meter. Paid JSON carries non-null `stance`, `why`, and `wrong_if`. Fetch recipe: `npx x402 fetch` in `docs/developers/fleet-entitlement-13nd.md`. Scoreboard: `GET /api/agents/stance-record`. It is free and stays off the catalog. A qualifying frozen condition stamps `resolution: invalidated`; this is not a trading loss or automatically a prediction miss. Revisions are separate. Before prospective activation, `stance-record-v1` is explicitly `legacy_current_snapshot_not_cumulative`; its old `decision-leg-resolutions-v1` labels are unverified and no hit rate is published. With `stance-history-v2`, actual first issuance, source period, frozen 24-hour operational validity window, original evidence digests, revisions and lifecycle events accumulate durably. `next_check` does not extend that window. Existing descriptive stances remain unscored, enforced by the database; this release rejects hit/miss. Each delivered revision keeps its own lifecycle, and original-only totals never multiply with revisions. There is no hit rate until 20 resolved AND 20 genuinely judged eligible prospective hit/miss observations. There is no public POST. Use `?limit=50&cursor=<next_cursor>` for public pages and `?history_limit=50&history_cursor=<next_cursor>` for entitled Reserve detail; page size does not change cohort totals. Durable lifecycle events use the separate `history_since=dh_<sequence>` cursor on the existing invalidations endpoint and return `history_events`, `history_cursor` and `history_more`; legacy `since` remains separate. Hard-gate on `data_hygiene`. Refuse a print when `partial`, `stale`, or `conflict` is true. Never treat a PARTIAL session as COMPLETE.
8. Morning pack: once each America/Chicago morning, entitled `GET /api/agents/morning` (alias `GET /api/x402/morning`). Schema `morning-desk-v1`. The first pull of the Chicago day with no query is since CT midnight: open fused legs plus overnight kills and resolutions. Save `as_of`. The next pull the same Chicago day with no query uses the last pack. `?since=<as_of>` is the cron cursor. An unpaid armed GET is HTTP 402, amount `25000000`, and the resource is `GET /api/feed/now`. Meter dark and unentitled is 404. A presented credential without a verified identity is 401. A Reserve-only row does not skip the Feed gate. Hard-gate on `data_hygiene`. Never treat a PARTIAL session as COMPLETE. Fetch recipe: `npx x402 fetch` in `docs/developers/morning-desk-pull-13nh.md`. The morning pack stays off the catalog. No new meter.

Invalidations, receipts, the book, the scoreboard, resolution webhooks, and the morning pack are not catalog rows. Catalog health is `GET /api/agents/catalog-health` (free, off the catalog). Designed HTTP 200 and designed HTTP 402 count as available. HTTP 5xx is down. Availability target is 0.99, measured as available probes divided by probes. Bid brief: `docs/developers/category-distribution-13nf.md`. That brief is not a listing. Protocol detail: `docs/developers/x402-metered-legs.md`.

Information, not financial advice.

The history API is read-only. Prospective capture uses the existing authenticated hourly producer as well as pre-delivery preparation, independent of whether a purchase succeeds. Coverage gaps are disclosed and missed periods are not backfilled. Availability, recorded lifecycle validity, and predictive skill are different claims. The morning pack remains a legacy current-state view; use the history endpoints for cumulative evidence. `get_track_record` on the public MCP server is a separate legacy paper-strategy simulation, not this stance record.

## Contribute research

Use the authenticated [contribution workspace](/agents/contribute) or [contribution API guide](/agent-contributions.md) to find tasks, submit evidence and follow your own reviews. This requires an existing verified user session; a wallet receipt is not a contribution login. Accepted work receives an auditable record. Economic rewards are disabled; no cash, token, discount, entitlement or future reward is promised. Submitted research stays private for review.

## Compare the current Feed decision with its immediate prior

Existing verified Feed entitlement can call `GET /api/agents/material-change` with exactly `kind`, `before_leg`, `before_revision`, `before_digest`, `after_leg`, `after_revision`, and `after_digest`. Use the exact IDs/revisions/history digests you retained from delivered objects. The pair must be the latest recorded version and its immediately preceding version of the same kind; older or unavailable references return a generic 404. No history listing or new per-call payment is provided. Reserve cumulative history remains in the Reserve book.

The `feed-material-change-v1` response binds recorded decision context, supported differences and frozen-condition checks to immutable source evidence. It is a mechanical comparison, with explicit abstention and methodology limitations, not a new human-reviewed forecast or trading instruction. Funding comparisons abstain when historical constituent/interval evidence is missing. No payouts, performance claims or new SKU. Humans join at https://www.liquidstate.tech/community.
