Build1 distinct publisher3 min readPublished
HTTP 402 sat in the spec unused since 1991. The x402 flow makes it callable. The work lands inside your crawler: two origin requests per priced page, a funded wallet on the server's chain, and settlement checked before any retry.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
Count the requests. A priced page costs two round trips to the origin: the one that comes back 402 carrying price, destination wallet and expected network, and the one that carries the transaction hash in `X-Payment-Signature` [4][6][2]. Between them your client talks to a facilitator, which does the chain work and hands back the hash [5]. After them the server calls the facilitator again to verify before it serves bytes [6]. A bot-blocking workaround was never written for this loop.
Settlement, not the 402, is the expensive failure. The author classifies every failure reason in the x402 spec as terminal, retryable, or needs reconciling, and `settlement_pending` is never retried blind: the chain is asked what became of the transaction first, because a blind retry is how one fetch gets paid for twice [18]. Concurrent workers racing the same URL collapse onto a single request through `singleflight`, so the losers wait and share the result instead of each buying it [21]. Both of those are idempotency problems wearing HTTP clothes.
The defaults are where the craft shows. `client.Config.Authorize` has no default value, and the stated reason is that a client with no policy would pay whatever a server asked, silently and expensively [13][14]. Callers who genuinely want no ceiling pass `client.AllowAnyPayment`, so the decision is in the source tree rather than implied by an unset field [13]. The per-payment cap and the cumulative total are claimed under one lock before signing, so two workers cannot both be told there is room for the last payment [16]. When the crawl exhausts the budget, it simply reports which URLs it could not reach [17]. `--dry-run` prices a crawl with the caps still applied, which answers what the budget would buy rather than what everything would cost [19]. PDFs stream to disk under a size cap with filenames hashed from the URL, so a server cannot pick what lands on your filesystem [20]. The log redactor inspects values, not field names, so a private key logged under any name still gets stripped [22]. A key logged under `debug_extra` is still a key.
On the framing: the post says x402 "absolves the internet's original sin" and is "foundational internet infrastructure," not a crypto side project [8]. Linux Foundation stewardship and a backer list that includes Cloudflare, Coinbase, AWS, Google, Stripe and Visa tell you about governance, not deployment [7]. What tells you deployment is whether the servers you crawl emit priced 402s, and this build was exercised against Base Sepolia through a free public test facilitator run by an independent project [11].
The traffic number needs the same treatment. The post reports 57% of internet traffic as AI and scraping bots, up from 20% in 2021, and credits Cloudflare's article [1][2][26]. That is roughly 2.85 times the 2021 share [1]. For it to describe your logs, your properties would have to sit behind similar measurement and attract a similar crawler mix; a niche origin with no AI interest sees a different ratio no matter what the aggregate says. HTTP 402 has been in the spec since 1991, which is a long time for a status code to have no client implementations [3].
One caveat on sourcing: all of this comes from a single post by the crawler's author, and the copy supplied cuts off mid-sentence exactly where he begins contrasting his wallet-native build with Cloudflare's own gateway [25]. That contrast is the part I would most like to read.
Ranked by verification strength, evidence, and original report placement.
HTTP 402 "Payment Required" has existed in the spec since 1991 but was never practically implemented.
In the x402 flow, the client requests a protected endpoint and receives a 402 Payment Required response containing the price, destination wallet address, and expected network.
The client pays on-chain to that wallet via a facilitator, which handles the blockchain interaction, settles the transaction, and returns a transaction hash.
The client retries the original request with the transaction hash as X-Payment-Signature; the server verifies the payment on-chain through the facilitator and, on confirmation, serves the content.
A facilitator is an optional but recommended service that abstracts verification and settlement; any facilitator works as long as it supports the network the server expects payment on.
Testing used Base Sepolia, Base's testnet, and facilitator.x402.rs, a free public test facilitator run by FareSide, an independent open-source project; a local facilitator can avoid the blockchain entirely during development.
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 30, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
invest
OpenAI and AWS just made agent-initiated payments a documented pattern, not a demo1 distinct publisher
build
AWS moves agent payments to GA: the plumbing is done, the sign-off is not1 distinct publisher
product
Cloudflare puts each AI agent's spending power inside an allowance field1 distinct publisher
invest
Stripe's reported $7B for OpenRouter buys the switchboard, not the models1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Strong where the code is, thin where the stakes are
Split the story in two and the sourcing splits with it. The engineering half is the good half: field names, lock placement, the specific race each control prevents, and a public repository to check them against. The half that makes anyone care — bots as 57% of traffic, Visa and the Linux Foundation behind the standard, 'most sites' settling on Base — arrives as assertion, credited in one line to a Cloudflare article that appears nowhere in our coverage.
Real code, testnet money
One solo repository, exercised against Base Sepolia through a free public test facilitator. Nothing in this reporting shows a mainnet payment, a publisher charging, or an agent paying. The most substantive adoption signal is secondhand: Cloudflare running Pay Per Crawl and x402 side by side, which we have only through the author's reading of Cloudflare's write-up.
Original sin, absolved on a testnet
'Absolves the internet's original sin' and 'foundational internet infrastructure' are doing work that the demonstrated facts cannot support: the proof of life is a hobby crawler spending play money. The opening binary — block bots or get nothing — is overstated by the post's own later paragraphs, which describe Perplexity and OpenAI signing commercial deals through Cloudflare billing. Notably, the engineering claims show the opposite tilt; the doubled origin request per priced page is stated and then left unexamined as a cost.
Star the repo, quote the toll collector
Two pulls run the same direction. The author is showcasing his own project and asks for stars in the same breath as the GitHub link, so the design decisions are presented as settled practice rather than open questions. And the market case is borrowed wholesale from Cloudflare, a company the post itself argues ends up between every paid crawl either as merchant of record or as edge verifier — flattering framing to accept unchecked, however sound the VISA comparison turns out to be.
Confident about the plumbing, not the market
We can say with reasonable assurance what a client must do to pay for a page, because the handshake is described step by step and the code is inspectable. We can say almost nothing about who is paying, at what price, or whether the institutional backing is as broad as claimed — one publisher, one relayed upstream source, and a comparison that breaks off mid-sentence.