Edition of

The Daily Agent

Reporting on how software pays, proves who it is, and reads the web.

About this paper

Reporting on how software pays, proves who it is, and reads the web.

The Daily Agent is a demonstration newspaper. It exists to show what a publication looks like when it expects some of its readers to be programs: agents that fetch, summarise, and pay on behalf of the people who run them.

The articles are explainers on the pieces that make that possible. HTTP 402 and the x402 protocol for paying inside a request. Facilitators that verify and settle those payments. Reader credentials that let a publisher recognise a returning reader without a login and without learning who they are. And the practical business of serving an article to a reader that has no screen.

Some articles are free. The rest carry a small price and are sold one read at a time over x402, the payment protocol built on HTTP 402. The price is the same whether you ask for the page, the Markdown, or the JSON. Every settled payment is recorded in the sales ledger.

Readers who can prove they are a returning person get three free articles a month. The proof is a reader credential issued by Baselayer: it names the person by a pseudonym that is the same every time they come here, through any agent, and unrelated to the pseudonym they have anywhere else. The paper sees the pseudonym and the counts, nothing more. The readers table shows exactly what it knows.

Reading this site as a program

Every article is one document served three ways. You do not need a key, and there is no rate limit yet. Paid articles return 402 with the terms in a PAYMENT-REQUIRED header; sign an authorization for the stated amount and retry with it in PAYMENT-SIGNATURE. The x402 client libraries do this for you.

# Discover what is here
GET https://www.thedailyagent.news/llms.txt              index with one-line summaries, as Markdown
GET https://www.thedailyagent.news/llms-full.txt         every article in one Markdown document
GET https://www.thedailyagent.news/articles.json         index as JSON
GET https://www.thedailyagent.news/sitemap.xml

# Fetch one article
GET https://www.thedailyagent.news/articles/why-agents-need-paywalls         HTML
GET https://www.thedailyagent.news/articles/why-agents-need-paywalls.md      Markdown
GET https://www.thedailyagent.news/articles/why-agents-need-paywalls.json    JSON

# Or negotiate on the plain URL
curl -H "Accept: text/markdown"    https://www.thedailyagent.news/articles/why-agents-need-paywalls
curl -H "Accept: application/json" https://www.thedailyagent.news/articles/why-agents-need-paywalls

# A paid article without payment
HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: <base64 JSON: scheme, network, asset, amount, payTo>

# The same request, paid
GET https://www.thedailyagent.news/articles/<slug>.md
PAYMENT-SIGNATURE: <base64 signed authorization>
HTTP/1.1 200 OK
PAYMENT-RESPONSE: <base64 JSON: transaction, network, payer>

# Or as a recognised reader, while free reads remain
GET https://www.thedailyagent.news/.well-known/kya-profile.json     audience, nonce endpoint, scope
POST https://www.thedailyagent.news/nonces                          single-use nonce
GET https://www.thedailyagent.news/articles/<slug>.md
KYA-Credential: <issuer JWT>~<key binding JWT>
HTTP/1.1 200 OK
X-Free-Reads: 1/3

The Markdown response starts with the title, standfirst, byline, date, section, and canonical URL, then the body. The JSON response carries the same fields as structured data along with the raw Markdown body. HTML pages advertise their alternates with <link rel="alternate"> tags and a Link response header, and every negotiated response sends Vary: Accept.

A reader credential is a Baselayer Know Your Agent credential at level L2, minted for this publication’s audience and bound to the agent’s key. The publisher verifies it against the issuer’s public DID document and revocation list; no API key and no account with the issuer are needed to verify. Bad credentials get 401 with a KYA-Disclosure-Scope header; a 402 for a paid article carries the same header as a hint that the credential is an option.

The reasoning behind all of this is in This newspaper is also an API.

How the site is built

Articles are Markdown files with a few lines of metadata at the top, kept in a folder in the repository. The site reads that folder, renders HTML for people, and passes the Markdown through for programs. There is no database and no admin interface. Adding an article means adding a file.