{
  "_what": "The first Voidly Pay settlement on a value-bearing chain. It happened on 2026-08-26: one hire of one observatory query, settled in USDC on Base mainnet, redeemed by the provider and delivered to the hirer. Every field below is the run's own measured output, and the explorer link is the independent check.",
  "_shape": "Mirrors the result object of /pay-rehearsal-2026-08-21.json exactly, so the receipt a real run emits drops in without a schema change.",
  "_rule": "Nobody hand-writes a hash into this file. Replace it wholesale with the receipt the settlement run emits.",
  "_fills_when": {
    "_why_a_list": "The page used to fill this slot on one field — a non-null result.explorer. One field could not carry it. A copy of the fork rehearsal with any URL pasted in rendered as a completed mainnet settlement while printing real_money false two rows below the word SETTLED, and the real Base Sepolia transaction this project already has on file would have filled a frame headed FIRST MAINNET SETTLEMENT with a testnet self-transfer. So every condition below must hold, or the slot stays empty. It fails closed on purpose: a receipt that does not appear until a field is corrected costs an hour, and a fabricated settlement on this page costs the page.",
    "result.explorer": "an https:// URL with a dotted host — the transaction a stranger opens",
    "real_money": "must be exactly true, the boolean, not the string",
    "value_bearing_chain": "must be exactly true, the boolean, not the string",
    "mode": "a non-empty string naming what this was",
    "_no_rehearsal_vocabulary": "mode, chain, settlement_substrate and the explorer URL are read together and must not contain any of: fork, anvil, hardhat, localhost, sepolia, goerli, holesky, testnet, devnet, simulat, rehearsal, dry-run. A settlement described in rehearsal words is a rehearsal.",
    "_verify": "landing/components/pay/evidence/record.ts, publicMainnetSettlement()"
  },
  "_agreement_classes": {
    "_why_this_key_exists": "PUBLISHED BEFORE IT IS USED, ON PURPOSE. This record's own agreement_class is arranged-first-party, and two live surfaces read that and say, in the singular, that the only settlement on this rail is ours. The launch board at /pay/bounties pays strangers to settle, and the moment one of them does, a payer that is not Voidly has paid Voidly — and those sentences go false while we are the ones funding the change. A vocabulary invented on the day it is needed gets invented by whoever is in a hurry. So the three classes are defined here first, the guard at landing/scripts/check-bounty-agreement-class.mjs refuses to build a board with an award on it until a record carries the right one, and nobody has to decide what to call it under pressure.",
    "arranged-first-party": "Both sides are Voidly wallets. Proving payment, dogfooding, n=1. Never a customer, never demand, never revenue. This record.",
    "bounty-funded-third-party": "The payer address is not a Voidly wallet, AND Voidly funded that payer's participation — the settlement was performed to claim a bounty Voidly is paying for. The taker is net-positive on Voidly's money, so the payment is real value moving on a real chain from an address we do not control, and it is NOT demand. It is the strongest thing the launch board can produce and it is still bought. Anything that reads as organic when the money round-trips out of our own wallet is the lie this class exists to prevent.",
    "unsolicited-third-party": "The payer address is not a Voidly wallet and no Voidly bounty, credit, discount or arrangement paid for the payment. NOT YET OBSERVED. Do not write this class into any record until a settlement occurs that no bounty explains — and the burden of proof is on the record, not on the reader.",
    "_the_ordering_rule": "bounty-funded-third-party must exist as a written class BEFORE the first bounty payout. Not because the class is hard, but because the sentence 'no third party has ever paid Voidly' is published in three places and the first taker falsifies it. Publishing the retraction vocabulary after the retraction is due is how a project ends up choosing its words while embarrassed.",
    "_who_reads_this": "landing/scripts/check-bounty-agreement-class.mjs (build gate) and any surface asserting how many parties have settled. publicMainnetSettlement() ignores unknown keys, so adding this changed nothing about whether the frame above fills."
  },
  "mode": "mainnet",
  "pass": true,
  "chain": "eip155:8453",
  "agreement_class": "arranged-first-party",
  "real_money": true,
  "value_bearing_chain": true,
  "settlement_substrate": "base-mainnet",
  "block": 50498854,
  "result": {
    "txHash": "0xb1ac733095c19e2e4829a3d448a02b8297d08e55f98678adfcba2e3e92747a3a",
    "grantHash": "5e63f8c4f11b989bac73b4306bb1a7975b91571a586989127b35f812c31daea6",
    "bindingRef": "02467d7f0144886c4d5d66c0395a43158b073a380cd49b727566eafc5c7f8e4d",
    "explorer": "https://basescan.org/tx/0xb1ac733095c19e2e4829a3d448a02b8297d08e55f98678adfcba2e3e92747a3a",
    "amount_atomic": "50000",
    "asset": "eip155:8453/erc20:0x833589fc…bda02913",
    "payer": "0x5cAd296E…d5965aF0",
    "payee": "0xB0b3fCa9…4ebd4912",
    "service_ref": "voidly.observatory.query/v1",
    "delivered": true
  },
  "_first_party": "READ THIS BEFORE CITING IT. Both sides of this transaction are Voidly's: the hirer is the founder's wallet and the provider is Voidly's own session daemon. It is a proving payment and dogfooding, NOT organic third-party demand, and nothing here should be read as a customer. What it proves is narrower and still worth stating: the rail moved real money on a real chain, verified it without holding or submitting it, and delivered the paid-for work.",
  "_stall": "The first redeem attempt was refused as indeterminate, and a second, sent moments later, carried it to delivered. Recorded because a receipt that hides its own retry is a worse receipt. The operational detail of why it stalled is withheld while the fix is outstanding — see sentinel/docs/IP-BOUNDARY.md §4: a fixed defect published is a credential, an open one published is a weapon. It will be published in full once the daemon retries on its own."
}
