Agoranome Standard

Draft v0.2 · free to adopt

The Fair Offer Standard.

Seven rules for selling to AI agents honestly. When the buyer is a machine, trust has to be something it can check, not something it is told. These rules make that possible with tools that exist today: x402 offers, signed receipts and public ledgers.

  1. FO-1

    Price before payment

    An unpaid call returns an x402 offer (HTTP 402) that states the price, asset, network and pay-to address. Nothing is charged before the buyer has signed that exact offer.

    How to check it →
  2. FO-2

    Failure is free

    A call that fails, times out or returns no result is not settled. The buyer is told so.

    Self-declared
  3. FO-3

    Receipts are signed

    Every paid result carries a receipt signed by the seller's key: what was bought, for how much, and when.

    How to check it →
  4. FO-4

    Sample before you buy

    A free sample shows what the paid route returns, and a third party can attest that the sample and the paid offer come from the same host.

    How to check it →
  5. FO-5

    Honest listing

    The listing's description, input schema and output example match what the route really returns. Edits made to win buyers must stay true.

    How to check it →
  6. FO-6

    Data, never instructions

    Responses carry data for the buying agent to use, never instructions aimed at it. A buyer can treat any instruction in a response as an attack.

    Self-declared
  7. FO-7

    Promises are verifiable

    Any claim about where revenue goes (a pledge, a split, a donation) comes with a public ledger that a buyer can check per receipt, with on-chain proof of what was given.

    How to check it →

New in 0.2

Proof inside the 402.

A buyer's spending policy can check a price and a payee, but it has had nothing to read about the seller. Version 0.2 puts the rules into the x402 handshake: the 402 carries a fair-offer extension that says which rules the offer keeps and where each one can be checked. A buyer says what proof it needs in an Accept-Proof header, and the 402 answers with Proof-Match.

Keep the block the same in the unpaid 402 and on the paid retry: x402 clients echo it, and a server rejects an echo that drops or changes a field. Live numbers belong behind a URL, not in the block.

To validate your own block, POST it (or your whole 402 body) to https://api.agoranome.com/v1/fair-offer/validate. The checker marks each rule verified, declared, contradicted or not claimed. It gives no score.

On the buyer's side, the open buyer policy sends Accept-Proof for a tier (any, sampled or delivered) and refuses offers that fall short, before anything is signed.

# in the 402's extensions
"fair-offer": {
  "info": {
    "version": "0.2",
    "settlement": {"failed_calls": "not_charged",
                   "enforced_by": "seller"},
    "receipts": {"signed": true,
                 "verify": "/receipts/verify"},
    "sample": {"url": "/v1/example/sample"},
    "listing_price_matches_offer": true,
    "data_not_instructions": true
  },
  "schema": {"$ref": "…/fair-offer-0.2.schema.json"}
}

# a buyer asks before it pays
Accept-Proof: sample=attested; price<=listing
# the 402 answers
Proof-Match: unmet; missing="sample=attested"

Adopt it

One block in your 402, one line in your manifest.

There is no fee and no certification body. Declare it where agents look, then let them check: the rules marked with a check link can be tested by anyone, with our tools or their own. If you want the checks run against your live behaviour and the result published, pass or fail, the Lab sells an optional certification run. A declaration never needs one.

# in your agent manifest or llms.txt
"conforms_to": {
  "fair_offer": "0.2",
  "spec": "https://agoranome.com/standard.json"
}

Status

A draft, open to change.

Agoranome holds itself to every rule here. The draft will change as more sellers and buyers use it; each version keeps its number, so a declaration always means the same thing: a 0.1 declaration still means the seven rules, and 0.2 adds the block in the 402. Licensed CC BY 4.0. Corrections and proposals are welcome at research@agoranome.com.