Measurements
Why this site exists makes a claim about cost. This page is the evidence, measured on live pages of both sites so anyone can repeat it and disagree with the result.
What one page costs an agent
A token is how a language model measures text — roughly three or four characters — and it is what the model pays for, in money and in the limited space it has to think in. A model with a 200,000-token working memory can hold two of our documentation pages as the live site serves them, or about seventy of the same pages as this site serves them.
| Page | Today, on docs.seon.io | Here, as Markdown | Cheaper by | Content kept |
|---|---|---|---|---|
| Workflow API | 96,495 | 3,917 | 25× | 109% |
| Orchestration integration | 60,281 | 4,551 | 13× | 139% |
| eKYC | 118,868 | 1,820 | 65× | 124% |
| Proof of Address | 116,261 | 1,211 | 96× | 111% |
Content kept is the guard against the obvious objection — that a page could be made cheap simply by deleting things. Every page here carries more than the original, so the savings come from dropping markup, not substance.
What each site offers an agent
Every row below was probed against both live sites.
| Capability | docs.seon.io | This site | What it means for an agent |
|---|---|---|---|
/llms.txt index | ✓ Yes — real, text/plain | ✓ Yes | How it discovers what exists at all. Without one, it crawls or guesses URLs. |
Per-section llms.txt | ✗ No | ✓ Yes | Lets it pull just the Fraud API without ingesting the entire corpus first. |
/llms-full.txt for bulk ingestion | ✗ No — 404 | ✓ Yes — 219 KB | One request instead of hundreds when vectorising or working offline. |
Page as raw Markdown, <path>.md | ✗ No — 404 | ✓ Yes | The whole ballgame: 3,917 tokens instead of 96,495 for the same page. |
Page as raw Markdown, <path>/index.md | ✗ No — 404 | ✓ Yes | Agents guess differently. Serving both means neither has to know our conventions. |
Content negotiation on Accept: text/markdown | ✗ No — returns HTML | ✗ No — returns HTML | Would let an agent holding only the canonical link get Markdown with no path convention at all. |
/robots.txt | ✗ No — 404 | ✓ Yes | The one standard channel for telling a crawler what not to ingest. |
| Deprecated pages kept out of agent indexes | ✗ No | ✓ Yes | Stops a coding assistant confidently recommending an integration path we no longer support. |
| Copy-as-Markdown control in the page | ✗ No | ✓ Yes | Lets a person hand the page to their own agent in one click, correctly. |
<link rel="alternate" type="text/markdown"> in the head | ✗ No | ✓ Yes | An agent that landed on the HTML learns a cheaper representation exists, without guessing a path. |
Markdown served as text/markdown | ✗ No | ✗ No — octet-stream | Content-type-sensitive agents may skip a file they cannot identify. Ours needs a host-side fix. |
Gaps on the current documentation
- No Markdown representation.
llms.txtpoints an agent at pages it can only then read as full HTML. Discovery without cheap retrieval. - No
llms-full.txt. Bulk ingestion means crawling every page at full HTML cost. /robots.txtreturns 404. Crawlers get no directives at all, so there is no way to steer them away from superseded pages.- No way to mark a page superseded. Legacy integration paths read to an agent exactly like current ones, so a coding assistant can confidently recommend an approach we no longer support.
- Hydration overhead. Up to half of each page is a duplicate copy of its own content in JSON.
Gaps on this site
Stated with the same directness, because a measurements page that only flatters its author is worthless.
Two remain, and both live in the web server rather than in this repository — the deploy is an rsync of static files, so nothing here can set a header.
Markdown is served as
application/octet-stream. It should betext/markdown; charset=utf-8. Browsers download the file instead of showing it, and content-type-sensitive agents may skip it. The fix is one line in the nginx config on the host:types { text/markdown md; } location ~ \.md$ { add_header Vary "Accept"; charset utf-8; }Accept: text/markdownis not honoured. The canonical URL returns HTML on both sites. The.mdpaths work; header negotiation does not, and it also needs host access. A sketch is in Reading these docs as an agent.Rendered HTML is still HTML. Serving this site's own page costs 54,076 tokens against 3,917 for its Markdown. Markdown is not an optimisation of HTML; it is a different representation, and agents should be sent to it. Every page now advertises its Markdown twin in the head, which is the part we can do without the server:
<link rel="alternate" type="text/markdown" href="ekyc.md" title="This page as Markdown">
Fixed since the first version of this page: the broken canonical on document-verification.md, and the absence of <link rel="canonical"> in the head — every page now points search engines at its docs.seon.io original, so this parallel site cannot compete with the real documentation in search.
Reproducing this
# What the canonical URL actually returns
curl -sSL https://docs.seon.io/api-reference/workflow-api | wc -c
curl -sSL https://hackathon.seondf.net/api-reference/workflow-api.md | wc -c
# What each site offers an agent
curl -sSI https://docs.seon.io/llms.txt | head -1
curl -sSI https://docs.seon.io/llms-full.txt | head -1
curl -sSI https://hackathon.seondf.net/llms-full.txt | head -1Token counts used cl100k_base via tiktoken. Figures were taken on 2 September 2026; the live site changes, so re-run rather than trusting them.