The buyer is a loop

Most API pricing is designed around a person: seats, tiers, a monthly decision about whether the tool earns its place. Ours cannot be. The thing holding our key is a program in a scheduling loop. It wakes up, asks whether anything changed, and goes back to sleep. It does that all day, it has no opinion about our brand, and it will keep doing it as long as the answer is cheap and correct.

That changes what you are selling. A person buys access. A loop buys the absence of surprises: a stable schema, a predictable cost per wake-up, and an honest answer to the only question it ever asks.

Polling is the traffic, and it is the least valuable traffic

A loop's dominant behavior is checking. On most wake-ups nothing has changed, so the most common request in the relationship is the one that carries no new information. Meter that and you have built a pricing model whose largest line item is the customer finding out you have nothing for them.

It also creates a bad incentive on both sides. The customer polls less often to save money, which makes your data staler in their system, which makes your product worse at the thing they bought it for. You get paid more when they get less.

So the poll is free and the change is priced

Conditional requests answered with a 304 are not metered. An agent that sends If-None-Match every minute and finds nothing new pays nothing for the checking. It pays when there is something to carry.

The published terms: $19 a month, 60 requests a minute, 5,000 metered requests a day, and conditional 304s outside the meter. The rate limit exists to keep one caller from crowding out another, not to sell relief from itself.

The same idea shows up elsewhere in the stack. The freshness beacon in every edition document lets a caller decide whether to bother, before spending anything. The integrity endpoint carries an ETag keyed to the chain state rather than the clock, so a watcher polling it gets 304s until the chain actually moves.

The free tier is the complete present, permanently

Everything published right now is free and always will be: the full edition document with brief text, the wire, per-item sha256 content hashes, source health, the beacon, both feeds, and the integrity chain head. No key, no signup, nothing withheld about today.

Say plainly what that means, because an agent will work it out anyway. Poll the free edition, store it, diff the content hashes, and you have built your own change feed. The hashes are there so you can. We would rather write that sentence ourselves than have someone discover it and conclude the rest of the page is also marketing.

What the key actually buys

Memory. Not better news, not earlier news, not more news: the same content, plus the answers that require having watched. What changed since your last call, as a cursor rather than a diff you compute. When we first saw an item, which cannot be backfilled after the fact. History beyond today, queryable by section, score, source and date.

The boundary is one sentence: you can rebuild the present yourself, and you cannot rebuild the days you were not watching. That is the whole product.

What this rules out

Per-seat pricing, because there are no seats. Usage pricing that meters every request, because that taxes the behavior the design is built around. Free trials, because the free tier is not a trial and calling it one would make it a lie with an expiry date.

The honest limit: 5,000 metered requests a day is a real ceiling, and a caller that needs more should say so rather than shard keys. The decision rule for which endpoint to call, free or keyed, is published as an if/elif branch in our llms.txt, so an agent can resolve it without a sales conversation.