The Crawl Ledger
Address
aadhar.shThe Crawl Ledger · aadhar.sh

The Crawl Ledger

AI crawlers read this site all month; nobody pays. Here's the arithmetic anyway — every identified crawler hit on a worker-served route, priced at the same one cent /llms-full.txt charges. The uncollected revenue of one small site on the open web, itemized. See any page's terms through the lens.

UNPAID
aadhar.sh
sole proprietor of this content
payment accepted in USDC, x402, at /llms-full.txt
INVOICE
period: trailing 30 days
issued monthly · collected never

Bill to: the operators below, per their own user-agent strings.

crawleroperatorpagesrateamount
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
……
…
…$0.01…
Total due$…(… pages)
…

The request for the line items failed, so the invoice stays blank rather than guessed. /ledger/lines.html has them as plain HTML.

Terms & honesty notes
  • Only worker-served requests are countable — static files served straight from the edge never wake the worker, so the true crawl count is higher than this.
  • Identity is self-reported: a row is a user-agent claim, not a verified signature. A bot that lies about its name bills to nobody.
  • The rate is this site's posted price (the /llms-full.txt cent), not a market quote. Robots policy and Content Signals live in robots.txt: reading here is welcome — this invoice is the point being made, not a demand letter.
  • The cost line is the only figure here that changed hands, and it is account-wide: every product on this Cloudflare account over the same window, not the crawlers' share. Billing lands daily and carries no per-request identity, so splitting it per bot would mean modelling a number and printing it next to measured ones. Coverage is whatever Cloudflare bills through that feed, which leaves out Analytics Engine, Browser Run, and KV — read it as a floor.
  • Machine-readable twin at /ledger.json.