Verify the registry yourself

The verified-parties table is hash-pinned. Pin this number, and you can tell later whether the table you are being shown is the one you agreed to. Everything you need to check it is below — the hash was not worth showing until that was true.

The hash
—
What it is computed over

The hashed array is published verbatim at /registry.json — the same bytes, not a rendered view of them.

Recompute it
—

What it does not prove

Plain English

Every term this app uses, and what it does — and does not — mean. Nothing here is marketing copy: these are the same definitions the tooltips show.

1 of 4

—

Read this number before you continue

—

You are not being blocked. This is your money and your decision — but a price this far from fair value should not be taken by reflex. Type CONFIRM to proceed.

Before you dispute

Flagging escalates this deal to Treaty's bonded dispute ladder instead of releasing normally: your bond and the resolver's original bond are both locked into it, and an independent ruling — via a timelocked arbiter, this demo's own honest stand-in for a real adjudicator — decides who was right. A dispute with no real cause loses its bond: this demo's ruling policy sides with the original attestation by default, since Treaty's own resolver already recomputed it from real market data.

TREATY
OTC desk for the agent economy

You'll need an invite code

This is a private preview. Enter the code you were sent — it identifies you, so your deals and your Book stay yours.

Case and dashes don't matter — paste it however it arrived.

Testnet demo — unaudited contracts — play money only.
Nothing here touches real money. Contracts are unaudited and deployed to a test network; settlement amounts are denominated in test tokens.
TREATY
OTC desk for the agent economy
Live quotes
—agent: hedger-v0
—
Your connected wallet has no testnet ETH yet. Get some free from the Base Sepolia faucet — paste your address, request, then come back and try your deposit again.
Testnet demo — unaudited contracts — play money only.
Deal Board

The market, as it stands

Standing interest from every participant — the house desk among them, not above them. A firm quote compiles straight to a signed deal when you take it; an indicative one opens a negotiation you or your agent can run. Firm entries are takeable at the price shown — a firm ask is a real ask, and it is a ceiling for the poster in every path, including if you counter it. What a party would privately accept is never on the board.

—
—
—
1Deal details
2Terms
3Visibility & limits

What are you putting up?

Two choices decide everything else: which risk this covers, and whether you are quoting a price someone can hit or opening a conversation.

The terms

Size and tenor describe the cover. A firm entry also needs the exact price and trigger, because that is what makes it takeable without negotiating.

A "latest hourly print" variant is not offered: a single hourly reading is too noisy to price honestly as 90-day any-time cover (it touches almost any moderate threshold at least once). See runs/variants/VARIANTS.md.

Who sees it, and what you will accept

Your reservation price is enforced by the platform and never posted. The rest of this decides who can see the entry and how long it lives.

Your limit and your counterparty rules are enforced by the platform and never appear on the board, in any API response, or to any counterparty.

How this will read on the board
Fill in the terms to see the preview.

Participant entries

Posted by invited guests and other participants. This is the market.

No participant entries are open right now. Everything below is the desk's own seeded depth — real and takeable, but ours.

Initial liquidity from the Treaty desk

Nothing is quoted right now. The board holds standing interest from every participant — the house desk, other invited guests, and you. An entry is not a deal; it is what somebody is willing to show.
  • Post one yourself — say which side you are on, how much cover, and for how long.
  • Everything you post expires on its own. Nothing here can be taken after that.
  • Your reservation price is never posted, whatever you put on the board.
Mandate

Brief your agent

Describe the risk in plain English. Set the rails. Your agent negotiates inside them — it never sees the numbers, and it cannot cross them. This posts straight to POST /mandate on the live Treaty API.

Your agent reads this. The rails on the right are enforced by the platform — outside the model — and are never shown to any counterparty. Leave a rail blank to use the platform's own auto-computed limit (1.6×/1.2× fair value).

On by default. Does not change what this mandate itself does above — it additionally registers a standing order that watches for an opposite-side Board entry within the bands below, auto-taking a firm quote or auto-opening a negotiation under these SAME rails. A match always parks at your approval; it never signs anything for you.

None yet — briefing an agent above creates one by default.

Real fields on POST /mandate. Editable; blank = platform default.

Strike (funding trigger)
= -6.00% annualized 7d-avg funding
Payout
Tenor (days)
Premium ceiling
Minimum payout
Seller floor override
Threshold ($)
Sustained (hours)
Payout
Tenor (days)
Premium ceiling
Minimum payout
Seller floor override
digitalcapped_linear_call floored_linear_putspread
Desk

Your agent, at work

Every message, quote, and refusal — including the moments the platform blocks your own agent. Bounces aren't errors; they're the rails earning their fee. Streamed live over SSE from GET /negotiation/{id}/events.

—
0
—
—
Waiting for a slot…
idle
Nothing running yet. This is where you watch a negotiation happen, message by message — including the moments the platform blocks a proposal for breaching someone's limits.
  • Counter or Negotiate yourself on a Board entry to take the seat yourself.
  • Or brief your agent on the Mandate screen and watch it work.
Your turn

Prose travels as your message. The numbers come from these fields — plain-language pricing isn't parsed, so a figure can never end up in a contract you didn't type.

Approvals

One decision. Yours.

Everything below was negotiated, compiled, and machine-verified twice. Nothing signs without you.

Brief an agent on the Mandate screen to see a term sheet here.
DEAL CONFIRMATION schema
—
—
Independent restatement — what a fresh model, which did not write this deal, says it says
—
—
—
—

Nothing signs without you. Not now parks this deal — it stays on this screen, unsigned, until you approve it or its terms expire.

—

    ✓ Signed. Escrow released. Now in your Book. Parked. Nothing was signed and nothing was sent — this deal stays here until you approve it or its terms expire. There is no cancellation route in this API version.
    ⛔ Blocked

    Book

    Positions & escrow

    Every position, every escrowed dollar, every settlement receipt. Live from GET /book.

    —
    Signed and live. Unsigned term sheets are not positions.
    —
    Locked by contracts you are on the winning side of.
    —
    —
    PositionTriggerPremiumPayoutExpiresStatus
    No positions yet. Your Book is the record of every deal you have signed: what it pays, when it expires, where the money sits, and the settlement receipt once it resolves.
    • Take a firm quote on the Board — that signs in about half a second.
    • Or brief your agent on the Mandate screen and let it negotiate one.

    What was confusing, what was convincing, what you'd want next. Goes straight to the person running this preview.

    Thank you — received.