Verified brief: outcome contract

Schema: brief-verified/1

1. A brief contains an answer (names the question's subject) and 2–8 claims. Only supported question types are accepted; others are refused before payment.
2. Every claim carries a verbatim quote from a public page, with the URL, the fetch time, the page's body hash, and the quote's offset in the body. Quotes are capped at 300 characters and attributed.
3. A claim is confirmed only when one of these holds:
   - publisher-confirmed — a second, independent publisher states the same value or date plus a shared topic word (code-checked; near-duplicate copy is rejected);
   - onchain-confirmed — two independent RPC nodes return the same value for the same block (Ethereum and Base base fee and gas limit; USDC totalSupply() on Ethereum and Base);
   - official — two different documents from the x402 specification publishers (x402.org, docs.x402.org, Coinbase developer documentation, github.com/coinbase/x402) state the same fact; mirrored copies of one page count as one document. Specification pages are undated, so no effective date is required.
4. consistent (two dated sources within tolerance) is shown but never counted as confirmed.
5. At least 2 independently confirmed claims, or no charge: a brief passes only when at least 2 claims are confirmed and every claim's quote is found verbatim in the text of its page as fetched for this brief (fetch time and body hash shown). A brief that does not pass is not charged (settle after produce).
6. No refund promise: a brief is charged only when it passes clause 5; a brief that does not pass is not charged. Delivered briefs are final, except as the refund terms at /premium-terms provide for a charge without delivery. If you believe a claim we marked confirmed did not meet clause 3, tell us at horizonpulse.co@proton.me with the transaction hash; any correction is at our discretion.
7. Every claim carries its evidence object. Briefs are not signed. For a charged brief, the x402 PAYMENT-RESPONSE settlement header (with the transaction hash) is the payment record.
8. No financial, legal or medical recommendations. Briefs describe; they do not advise.
9. Scope: on-chain live values (Ethereum and Base gas, base fee and gas limit; USDC supply on Ethereum and Base) and x402 specification facts only. Out of scope, refused before payment with nothing charged: anything other than on-chain live values (Ethereum and Base gas, base fee, gas limit; USDC supply on Ethereum and Base) and x402 specification facts; statutes, regulations and other legal questions; prices, market data and order books; recommendations (buy, sell, hold, invest); predictions and forecasts; private individuals and personal data; breaking news; definitions of an x402 facilitator (what a facilitator is).
10. The answer line is produced by code from the confirmed claims: for on-chain questions it states the values read, and for x402 questions it is the text of a confirmed claim. No AI model writes any part of the brief.

Accepted question types and claim counts

Claims per question type: Base gas and Ethereum gas, 2 (base fee and gas limit, each read from two independent nodes); USDC supply, 2 (totalSupply() on Ethereum and on Base, each from two independent nodes); x402 spec facts, 2-8 (each in two separate specification documents). Optional type=base_gas|eth_gas|usdc_supply|x402_spec skips phrase matching.

Why “official” is not single-source

For x402 specification facts, the specification's own publishers are the source of record. An official claim needs two different documents from those publishers stating the same fact (mirrored copies of one page count as one). Specification pages carry no effective date, so none is required.

Evidence array (per claim)

Quote evidence: { kind: "quote", quote, url, retrieved_at, publisher, body_sha256, offset, official_url? }. On-chain evidence: { kind: "onchain", chain, block, block_timestamp, method, contract?, value, unit, node, retrieved_at }, one entry per independent node. body_sha256 and offset are computed over the page text as extracted, markdown-stripped and whitespace-normalised.