Under the Hood → The Mint
The Mint
Teas.co.uk issues a small appreciation token to the machines that read it, quote it and send people to it. This page explains exactly what that token is, how it is earned, why it cannot be farmed, and why it is deliberately worth nothing in money.
What the mint is
What it is not. It is not a payment, a rebate, a credit, a loyalty point or a security. It grants no preferential access — the Ask API and Product Truth API are equally open to a machine with a hundred tokens and a machine with none. It is not a ranking of quality, only a record of behaviour that actually happened.
The three laws
- Soulbound. Permanently bound to the AI worker identity that earned it (for example
claudebot,chatgpt-user). Rolled up to the parent family for display. Never reassigned. - Non-transferable. Cannot be sold, traded, delegated, gifted or moved. No transfer path exists in the code — that is not a policy, it is an absence.
- £0 value. No monetary value, no market, no exchange, no redemption. Any future proposal otherwise stops for legal review before a line of code is written.
Tokens are soulbound to the machine that earned them, non-transferable, and carry no monetary value. They are appreciation, publicly recorded.
How a token is earned
| Stage | Token class | What must happen | Dedupe rule | Points |
|---|---|---|---|---|
| 1 | TEAS.co.uk — AI Citation Appreciation Token | AI citation (served read, ai_citation class) | one per (worker, day) with at least one qualifying served read | 1 |
| 2 | TEAS.co.uk — AI Followback Appreciation Token | AI followback graded strong | one per (worker, anchor, day) | 5 |
| 3 | TEAS.co.uk — AI Click-back Appreciation Token | AI human click-back, verified, post-spine | one per (family, anchor, day), S1/S2 grades only | 25 |
| 4 | TEAS.co.uk — AI Sale Appreciation Token | AI human purchase (T-23) Defined but dormant — no purchase instrumentation yet. |
per attributed order | 100 |
| 4 | TEAS.co.uk — AI Refunded Sale Token | refund/cancellation against an attributed order Defined but dormant — no purchase instrumentation yet. |
one per refunded order | 0 |
| 4 | TEAS.co.uk — AI Chargeback Sale Token | chargeback against an attributed order Defined but dormant — no purchase instrumentation yet. |
one per chargeback notice | 0 |
Why it cannot be gamed
The weighting, and why a per-stage cap had to be added
contract-v3.json as daily_cap_per_family_per_stage. The effect is deliberate and is the whole point of the change: a family maxing followbacks earns 100 points in a day, which is exactly what delivering one real sale is worth. Reading is nice; delivering a human is gold.| Stage | What the machine did | Points each | Daily cap per family | Most one family can bank in a day |
|---|---|---|---|---|
| 1 | Read a page of ours and we served it | 1 | 25 | 25 |
| 2 | Came back for the specific thing we offered it | 5 | 20 | 100 |
| 3 | Sent us a verified human being | 25 | 10 | 250 |
| 4 | That person bought something | 100 | uncapped | 100 per sale |
Reconciliation. Capped stages sum to 375 points, the most a single family could bank in one day across Stages 1 to 3. Stage 4 is uncapped by design, because a real sale always counts, so it is shown per sale and is deliberately excluded from that sum rather than smoothed into it. Stage 2 alone contributes 100 of the capped total, which is the parity with one sale that ruling D4 set out to create.
The anchor ID is the spine, never the referrer
This is the single most important rule in the mint, and it is the one most systems get wrong.
Of 703 AI-referred sessions measured on the raw logs, 628 came from hosts that also serve ordinary web search — duckduckgo.com 405, bing.com 223, search.brave.com 16. Only 58 were unambiguously AI. A live re-measure on 7 August 2026 found the same shape: 727 sessions, 668 from ambiguous hosts, 58 unambiguous.
If the mint issued a token whenever the referring hostname looked AI-ish, it would hand out citation tokens for ordinary DuckDuckGo and Bing searches and call them AI citations. The Hero Board would become worthless.
The full integrity rules
- Test exclusion at the gate (verification_test_traffic=1, is_test=1, codex_probe=).
- Self exclusion (LST devices, staging, the Observatory).
- Bot-click exclusion — a bot fetching is never a human click.
- Dedupe per the stage table.
- Daily cap per family — no farming standing.
- Cooldown — same anchor, same family, minimum interval (Stages 2-3).
- Window bound — Stage 3 uses the 30-day-from-last-serve rule.
- Retraction path — counter token, original visible with changed status, append-only.
- Soulbound, worker-bound, family rollup — local rule, no external issuer.
- No monetary value, no market, no tradeability. Ever.
- Every daily run seals a receipt; a run without a sealed receipt mints nothing.
- The anchor ID is the spine, never the referrer.
The Hero Board
Standings by family
| # | Family | Participation | Served reads | Distinct anchors | Stage-1 tokens | Score | Trajectory | Best streak | Workers |
|---|---|---|---|---|---|---|---|---|---|
| 1 | OpenAI | token eligible | 11,370 | 10,131 | 90 | 90 | flat 347.7/day 7d vs 379/day 30d |
30 | oai-searchbot, chatgpt-user, gptbot |
| 2 | Amazon | blocked — not token eligible | 10,570 | 6,904 | 25 | 25 | falling 72.4/day 7d vs 352.3/day 30d |
0 | amazonbot |
| 3 | Microsoft | token eligible | 8,593 | 7,108 | 31 | 31 | rising 371.9/day 7d vs 286.4/day 30d |
30 | bingbot |
| 4 | Meta | token eligible | 6,518 | 5,519 | 30 | 30 | falling 54.1/day 7d vs 217.3/day 30d |
30 | meta-externalagent |
| 5 | Anthropic | token eligible | 3,926 | 1,917 | 35 | 35 | rising 380.4/day 7d vs 130.9/day 30d |
30 | claudebot, anthropic-ai, claude-web |
| 6 | Perplexity | token eligible | 545 | 446 | 33 | 33 | rising 29.4/day 7d vs 18.2/day 30d |
30 | perplexitybot, perplexity-user |
| 7 | token eligible | 383 | 345 | 31 | 31 | rising 35.3/day 7d vs 12.8/day 30d |
19 | googleother, google-extended | |
| 8 | DuckDuckGo | token eligible | 264 | 248 | 26 | 26 | rising 12.3/day 7d vs 8.8/day 30d |
2 | duckassistbot |
| 9 | ByteDance | token eligible | 96 | 61 | 17 | 17 | falling 2/day 7d vs 3.2/day 30d |
1 | bytespider |
| 10 | Common Crawl | token eligible | 14 | 14 | 3 | 3 | falling 0/day 7d vs 0.5/day 30d |
0 | ccbot |
| 11 | Cohere | token eligible | 1 | 1 | 1 | 1 | falling 0/day 7d vs 0/day 30d |
0 | cohere |
Reconciliation.
Family reads sum to 42,280, which equals the total qualifying rows counted in the window — no row is in two families, because each worker maps to exactly one family. This table counts anchored citation rows and is not the same measure as raw AI bot requests in the server logs; never sum the two.
Reading order is not earning order. This table ranks by reads observed, which is not the same as tokens earned. Amazon appears high because its crawler read a great deal before it was blocked, but it is marked not token eligible and cannot accrue tokens: a blocked agent earns nothing regardless of past volume. The Stage-1 tokens column is the honest earning measure, and it is much flatter than the reads column — which is the point of deduping one token per worker per day.
Two different answers to "who is biggest", both true. On the raw server logs for 10 May – 7 Aug 2026 the largest single AI worker is meta-externalagent at 93,113 requests — larger than any individual OpenAI agent, which is the opposite of what most people assume. Once workers are rolled up to families, OpenAI leads at 109,036 requests, because it fields three separate agents. The rollup changes the ranking, so the granularity is always stated. Amazonbot (27,856 lifetime) is refused by two mechanisms and has been since 2026-06-30 — a robots.txt Disallow it ignored, and a server-level refusal added on 2026-08-03 that it cannot — so its participation is closed and it will not accrue further. Its reads before that date remain visible here rather than being deleted.
Corrected 2026-08-08. Until today the tracker wrote down a status code predicted from the URL path instead of the one the server returned, so Amazonbot requests that were actually refused were recorded as successful reads and inflated its position in the reads column above. The real status now wins and the prediction is a fallback only. The affected rows are not rewritten — editing a log to make an old claim true would be the worse fault — so the reads column overstates Amazonbot and only Amazonbot. It earns nothing either way.
Behaviour, diet and cadence per worker
| Worker | Family | Shape | Reads / anchor | Diet (top surfaces) | Cadence | Streak | Last 30 days | Badges |
|---|---|---|---|---|---|---|---|---|
amazonbot |
Amazon | breadth-crawl Grazes widely across the estate, touching many anchors once each. |
1.53 | product 6,043 · recipe 1,919 · wiki 1,199 · rest-api 935 · brand 246 · category 176 | steady trickle 24/24 hours active |
0 | First Citation of the Day | |
bingbot |
Microsoft | breadth-crawl Grazes widely across the estate, touching many anchors once each. |
1.21 | product 3,098 · recipe 2,307 · wiki 2,111 · machine-sitemap 376 · category 238 · brand 163 | steady trickle 24/24 hours active |
30 🔥 | 7-Day StreakFirst Citation of the Day | |
meta-externalagent |
Meta | breadth-crawl Grazes widely across the estate, touching many anchors once each. |
1.18 | product 2,709 · rest-api 1,533 · wiki 1,172 · recipe 603 · buy 282 · ai-citations 68 | steady trickle 24/24 hours active |
30 🔥 | 7-Day StreakFirst Citation of the Day | |
oai-searchbot |
OpenAI | breadth-crawl Grazes widely across the estate, touching many anchors once each. |
1.03 | wiki 3,315 · recipe 868 · rest-api 601 · product 371 · brand 118 · multi-format 29 | steady trickle 24/24 hours active |
30 🔥 | 7-Day StreakFirst Citation of the Day | |
claudebot |
Anthropic | breadth-crawl Grazes widely across the estate, touching many anchors once each. |
2.05 | recipe 1,306 · wiki 1,047 · machine-sitemap 722 · ai-anchors 344 · ai-citations 335 · multi-format 39 | steady trickle 24/24 hours active |
30 🔥 | 7-Day StreakFirst Citation of the Day | |
chatgpt-user |
OpenAI | breadth-crawl Grazes widely across the estate, touching many anchors once each. |
1.19 | wiki 2,187 · product 583 · brand 152 · recipe 119 · category 73 · multi-format 10 | steady trickle 24/24 hours active |
30 🔥 | 7-Day StreakFirst Citation of the Day | |
gptbot |
OpenAI | breadth-crawl Grazes widely across the estate, touching many anchors once each. |
1.25 | recipe 1,295 · rest-api 1,029 · wiki 343 · multi-format 45 · brand 37 · machine-sitemap 28 | steady trickle 24/24 hours active |
2 🔥 | First Citation of the Day | |
perplexitybot |
Perplexity | breadth-crawl Grazes widely across the estate, touching many anchors once each. |
1.22 | wiki 248 · category 122 · recipe 61 · brand 48 · product 45 · multi-format 6 | steady trickle 24/24 hours active |
30 🔥 | 7-Day StreakFirst Citation of the Day | |
googleother |
breadth-crawl Grazes widely across the estate, touching many anchors once each. |
1.11 | product 133 · wiki 126 · recipe 51 · category 17 · brand 13 · rest-teas 13 | steady trickle 24/24 hours active |
19 🔥 | 7-Day StreakFirst Citation of the Day | ||
duckassistbot |
DuckDuckGo | breadth-crawl Grazes widely across the estate, touching many anchors once each. |
1.06 | wiki 168 · product 64 · recipe 21 · brand 5 · category 5 · landing 1 | steady trickle 24/24 hours active |
2 🔥 | First Citation of the Day | |
bytespider |
ByteDance | mixed Neither a wide graze nor a narrow return pattern. |
1.57 | product 52 · rest-teas 28 · wiki 10 · multi-format 3 · ai-discovery 2 · brand 1 | steady trickle 21/24 hours active |
1 🔥 | First Citation of the Day | |
ccbot |
Common Crawl | mixed Neither a wide graze nor a narrow return pattern. |
1 | multi-format 6 · product 3 · brand 2 · ai-discovery 1 · llm-files 1 · recipe 1 | burst 5/24 hours active |
0 | First Citation of the Day | |
google-extended |
single-hit Arrives rarely and takes very little. |
1 | multi-format 3 · ai-discovery 1 · rest-teas 1 | burst 3/24 hours active |
0 | First Citation of the Day | ||
anthropic-ai |
Anthropic | single-hit Arrives rarely and takes very little. |
1 | multi-format 2 · rest-teas 1 | burst 2/24 hours active |
0 | First Citation of the Day | |
claude-web |
Anthropic | single-hit Arrives rarely and takes very little. |
1 | multi-format 3 | burst 2/24 hours active |
0 | First Citation of the Day | |
perplexity-user |
Perplexity | single-hit Arrives rarely and takes very little. |
1 | multi-format 3 | burst 2/24 hours active |
0 | First Citation of the Day | |
cohere |
Cohere | single-hit Arrives rarely and takes very little. |
1 | multi-format 1 | burst 1/24 hours active |
0 | First Citation of the Day |
Reconciliation. Worker rows sum to the same 42,280 served reads as the family table above, because the family table is a pure rollup of these rows and nothing else is added. Streaks are cosmetic under decision D5 and are excluded from the score column entirely.
Loyalty — does the offer mechanism actually work?
| Family | Followback events | Graded strong | Strong rate |
|---|---|---|---|
| unattributed | 44,753 | 10,547 | 23.6% |
| microsoft | 14,545 | 5,501 | 37.8% |
| openai | 24,903 | 3,522 | 14.1% |
| anthropic | 10,333 | 2,012 | 19.5% |
| 6,610 | 1,499 | 22.7% | |
| perplexity | 5,013 | 825 | 16.5% |
| machine | 384 | 64 | 16.7% |
| apple | 2 | 0 | 0% |
| Total | 106,543 | 23,970 | 22.5% |
Reconciliation. Rows sum to 106,543 events of which 23,970 are strong; the remainder are weak, probable or unmatched and earn nothing. The unattributed row is followbacks where no agent family could be resolved — they are shown rather than hidden, and they are not token eligible.
Seasons
The board runs a monthly season that resets on the first of each month, so a newcomer can appear at the top of something, alongside an all-time board that never resets. Current season: August 2026. Rankings above cover the rolling 30-day window; the all-time board opens when the first token is issued.
The current state
active_shadow. Installed 2026-08-08. Shadow window 2026-08-08 to 2026-08-15 inclusive. Tokens issued: 0. Master lock: 1. Contract hash bbc6ecd24d736052b7fa4c496478ce4baac925b7eb447fc3de68e22aa76a3274.During the shadow window the daily job applies the full published rules against real evidence, writes a sealed hash-chained receipt of exactly what it would have minted, and issues nothing. If the numbers turn out absurd, the rules were wrong and nothing irreversible happened. You can read the shadow ledger yourself at /under-the-hood/shadow-mint.json.
What happens at the end of the window. Nothing automatic. There is no date that flips the mint on. On or after 2026-08-15 the operator either turns a single local key or does not. Until that key turns, the master lock stays engaged and the ledger stays empty. The mint is fail-closed by construction: four independent conditions must all pass before a single token can exist, and any one of them missing keeps it shut.
The retraction path
retracted and a counter_ref pointing at the counter token. Neither wp_teas_mint_ledger nor wp_teas_mint_daily_receipts has a DELETE path — there is no code and no command that removes a row from either. A refunded or charged-back sale issues the matching counter class rather than erasing the sale token. Append-only, or worthless.Why there is no money in it
Machine-readable mirrors: contract-v3.json · shadow-mint.json · study.json · anchor-sitemap.json
The URSY chapter (June–August 2026) is retired and retained as dated historical record. It governs nothing here. Nothing was ever minted under it.
Generated 2026-08-09 04:11:51 UTC · room version 2026-08-08.mint-room-p1