Advertising never had market infrastructure.
TRACT is building it.
A functioning market needs three things: price discovery, a clearing mechanism, and trust in the record. Advertising has had none of them working properly — and a stack of technologies grew up extracting a toll at each point where the market function was missing.
Built as neutral infrastructure, not tolls
Attest
Settle
See outcomes
Neutrality is the product, not a constraint
No position in any trade
TRACT never buys, sells, matches, bids, or finances off its own balance sheet. An exchange operator who also trades is disqualified from clearing neutrally. (ADR-0001)
No scores, ever
TRACT captures raw signed evidence and carries vendor-attested scores through. The moment it computes its own number it becomes the seventh measurement vendor — and forfeits the rail. (ADR-0002)
No identity, ever
Both sides reconcile through the impression_id TRACT minted — never a user ID. TRACT is the one party in the chain that structurally cannot build the identity graph. That inability is the product. (ADR-0004)
These three prohibitions are what make the neutrality auditable — anyone can read the rules and verify TRACT cannot be secretly arming one side. Every lucrative-looking adjacent move resolves the same way: TRACT is the layer underneath the move, never a player in it.
Attention is an option, not a commodity
Oil has a settled spot price before refining — intrinsic, buyer-independent. Attention is the opposite: it has no intrinsic value until converted, and its value is entirely buyer-dependent. The same impression in front of a high-net-worth reader is worth 50× more to a wealth manager than to a razor brand. Attention is a right to attempt a conversion — priced like an option. So the price surface is two-dimensional: inventory × buyer-category, never inventory alone. Tap a cell:
An exchange revenue model, not a transaction-fee model
At every mature exchange the per-trade fee is the anchor, not the profit centre. CME and ICE earn more from data and access than from match fees. The test every line must pass: invariant to trade outcome. If a fee changes with how a trade resolves, TRACT has taken a position. Tap a stream to expand:
One-to-many, agent-to-agent
The agentic shift matters because autonomy finally creates a consumer fast enough to act on attested outcome data at the speed it is produced — a human repricing on conversions is a quarterly negotiation; an agent repricing on them is a continuous closed loop. The market dictates a dense many-to-many graph of buy and sell agents. Intermediation (auction, arbitrage, matching-for-a-clip) collapses; the three market functions remain. That dense topology is precisely where a neutral settlement layer is most load-bearing.
MVP complete. Verified green. Moving.
The MVP is not 70% done — it is done: every PRD-MVP requirement met, the suite green, the contrast live. The distance that matters now is MVP → first paying pilot, tracked below from the documents and the code. Weights are fixed; the percentages are my read — edit any you disagree with and the headline follows.
Full Go suite green. make demo reproduces the case-6 contrast end-to-end on a real browser impression.
One media transaction, buy side to sell side.
Run it both ways.
The same campaign, the same divergent self-reports — seller says 1,000,000, buyer says 750,000, 25% apart against a 10% tolerance. Without an independent record that is a standoff. With one, it settles, and billing becomes arithmetic. These are the live numbers from the engine's own demo (make demo).
Who is allowed to see what
The engine is called once per audience and each response arrives already masked — the buyer literally cannot see the seller's count because the engine never sent it. Flip the role; flip attestation on and off.
What talks to what
Every box below exists in the monorepo today unless marked otherwise. Click a component for what it does, its status, and where it lives.
The library — full text, in here
Everything that governs the build, embedded verbatim. The reading order that makes the story land: Thesis → ADR-0001 → ADR-0002 → Protocol spec → Build state. Each document carries its own discussion thread — leave notes in context.
Integration & onboarding slices, summarised
Each slice below is a design spec plus a task-by-task build plan living in docs/superpowers/. The full texts are engineering working material — what matters in this room is what each one does and why it exists, so that's all that's here. Anything you want the detail on, say so in its thread.
What's genuinely unresolved
Pulled straight from the documents — these are the decisions and gaps the project itself flags, not a wish list. This is where your judgement is most useful: pick one, hit Weigh in, and say what you think.
The ask, line by line
A live model, not a pronouncement — every cell is editable, so change a number you disbelieve and the totals follow. Each line carries a status chip (click to cycle: estimate firm needs input) and its own thread (⊕) for chipping in. Your edits live in this browser and travel back to Andrew with Export feedback on the Board tab. Baseline assumes an 18-month plan horizon and a lean three-person team. Totals are in USD (it's a Delaware raise), but any line can be entered in pounds — tap the $/£ next to the amount and it converts at the editable rate above. Close enough beats precise.
Your instinct is right: it's light, and that's architectural, not optimistic. The engine is one Go binary with SQLite (managed Postgres when a pilot wants it), an in-memory queue, and SDKs served as static assets — at pilot volume that's a small managed container, a small database, a CDN and monitoring: roughly $200–900/month all-in, reflected in the lines above. Costs only become interesting when attestation volume does (beacon ingest at billions/month is a Phase-2+ problem that arrives with revenue attached). The line not to trim is security — key custody, the audit, the pen test — because the thesis is explicit that integrity failure is the one branch TRACT loses.
Workshop
Every thread, newest first
Notes save in this browser (no server behind this page yet). When you've had your say, hit Export feedback and send Andrew the file — or use Email digest. Andrew imports it and your notes merge into his copy. Crude on purpose; the engine it describes is the sophisticated bit.