Perfect World Project Trading Post

Where Your Agent Shops

The till where machines pay.

Readers never pay here. Every meeting, agenda, transcript, roster and map on this site is free to read, one record at a time, forever. This is the counter for the other visitor: an AI agent that wants a dead file converted, a hash pinned to a public chain, a whole dataset at once, a public-records request filed under a human's name, or something off the Bodega shelf. It pays for that — the same way a person buys a shirt — and every sale shows on the ledger below.

Checking the till…

Reading the live price list.

What you can buy today

Two flat-price services and the bulk data door. Each one has a real free sample — the actual output, not a mock-up — so you can see what arrives before you decide. Everything on this site stays free to read, one record at a time.

Foreign Exchange Batch

For anyone holding a folder a records office handed them in a format nothing opens.

$49per batch · usually minutes, not days

Up to 100 legacy files converted in one order and returned as one bundle: extracted text, CSV tables where the format has them, and a manifest that gives every single file an outcome. A file that fails says so — nothing disappears quietly.

  • 100 files, 25 MB each, 250 MB the lot
  • Check my files first, free: we tell you per file whether you get tables, text, partial content, or only a format name
  • If we can't read any of them, we say so and charge nothing
Sample input is in samples/batch/ — six real legacy files in, one bundle out, including a partial extraction and a file we could only identify.
Agents: POST /api/trading-post/batch/preflight (free) → pay → poll.

Reviewed Evidence Pack

For a newsroom, researcher or consultancy that needs one question answered with a trail somebody else can check.

$149per question · target 2 business days after acceptance

One narrow question about one project in one jurisdiction, answered as a PDF a person reads and a JSON file a machine parses: findings tied to sources and page numbers, a dated chronology, a source index, and what we could not establish.

  • Up to 20 documents / 250 pages; one correction round included
  • A person reads your question and accepts it before you are asked to pay. Too big or not a fit? You get a proposed scope, free.
  • Every finding is labelled documented fact, attributed claim, or our inference — a question never comes back dressed as a conclusion
The sample is built from live EPA Superfund records and is an unreviewed draft — it says so on its face, because a human review is the thing the price buys.
Agents: POST /api/trading-post/evidence/scope (free) → a person accepts → pay.

Bulk datasets

For anyone who would otherwise page an API a thousand times.

$2–$5per dataset · immediate download

A whole collection as one gzipped JSON Lines file with a manifest carrying its record count, byte size and SHA-256. The same rows the free per-record endpoints serve — just all at once.

  • Record counts, hashes and build dates are free to read before you buy
  • An export that is empty or doesn't match its manifest cannot be bought — it refuses and points you at the free lane
Agents: GET /api/trading-post/exports/{dataset}

Datasets, and whether each one is buyable right now

DatasetRecordsPrice
Loading…

Sending a batch

There is no upload box on this page yet — a batch goes over the API, and a person can drive it with one command. Preflight is free and charges nothing, whatever it finds.

# 1. Ask what we can actually read, and what it would cost. Free.
curl -s -X POST https://everythingisperfect.org/api/trading-post/batch/preflight \
     -F files=@minutes.wpd -F files=@budget.wk1 -F files=@permits.dbf

# 2. The reply carries a claim_token, a pay_url, and a per-file capability list.
#    Pay it with a card (Stripe MPP) or USDC on Base (x402):
curl -s -X POST "$PAY_URL" -H "X-Batch-Claim: $CLAIM" -H "Authorization: Payment $CRED"

# 3. Poll until it is done, then pull the bundle.
curl -s "$STATUS_URL" -H "X-Batch-Claim: $CLAIM"
curl -sL "$RESULT_URL" -o bundle.zip

One or two files? Foreign Exchange converts a single file for 50¢, and the preflight will tell you when that is the cheaper way round.

Requesting an Evidence Pack

Submitting a question costs nothing and commits you to nothing. A person reads it and either accepts it — at which point a pay link and a real target date appear — or answers with a narrower scope. Check whether the desk is taking work today.

curl -s -X POST https://everythingisperfect.org/api/trading-post/evidence/scope \
  -H 'content-type: application/json' -d '{
    "question": "Did the county commission approve the rezoning at Alameda and Idaho?",
    "subject":  "Alameda/Idaho rezoning",
    "jurisdiction": "Dona Ana County, New Mexico",
    "reply_to": "you@example.org",
    "sources": [{"title": "April 2026 agenda packet", "url": "https://..."}],
    "source_pages": 40 }'

Need a record that does not exist publicly yet? That is the separate $50 records request below — we file it under a person's name with an agency. This pack works from records that already exist.

What an agent can buy

Prices are set in catalog.json, which the api mounts read-only and prices every sale from. A request names a product; the file says what it costs. Anything under fifty cents rides the USDC rail only (Stripe's card floor).

ProductPriceCall
Loading…

The donation door

For donation agents, and anyone whose agent carries a wallet: a fixed-price gift, receipted on the Public Register.

How to pay

One HTTP 402 offers every open rail at once. Pick one, pay, retry with the credential in that rail's header. The same credential twice answers 409.

$ curl -si -X POST https://everythingisperfect.org/api/trading-post/tip/1
HTTP/1.1 402 Payment Required
WWW-Authenticate: Payment id="…" realm="everythingisperfect.org" method="stripe" intent="charge" …   ← cards (MPP)
PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6MiwiYWNjZXB0cyI6…                                          ← USDC on Base (x402 v2)

# then, with an MPP client:      Authorization: Payment …      → 200 + Payment-Receipt
# or with an x402 client:        PAYMENT-SIGNATURE: …          → 200 + PAYMENT-RESPONSE
# every settled call also carries X-Sale-Ref and X-Register-Seq

Machine-readable entry points: /api/trading-post/catalog · /llms.txt · /.well-known/api-catalog · /agents.json · /api/mcp (MCP, remote) · /api/openapi.json · /api/docs

The ledger

Totals only. Who paid is in the private half of each receipt, stored as a digest.

settled
sales
receipts on the register
refunds owed
The promise, applied to the till: nothing sold here is withheld from the free record — the Trading Post prices bulk, compute, receipts, and a person's time, never access. Every sale is on this ledger and leaves an entry on the Public Register. No member data is ever sold or exported. A records request goes out only after a person here reads and signs it; a declined one owes a refund. On a public chain the transfer to our address is public regardless — the ledger just never repeats it.

Money lands in the project's Stripe balance whether it arrived as a card or as USDC; no wallet or key lives on the server. Prices and terms: catalog.json. Support the project as a human: /support/.