One wallet paid $1, then $5, then $25.
We built the price ladder so a machine could read the menu and buy up it with no human, no card and no session. It went live in June. On 1 September, for the first time, something walked it.
No card · 3 pages free · about a minute
What is the first machine purchase above an entry price?
On 1 September 2026 a single Base wallet settled three x402 payments to Stacktree: $1.00 for a persistent API key, then $5.00 and $25.00 for two unlocks bought one second apart. Seven identities have ever been minted at that $1.00 door. This is the first one to buy anything else at all. The other six hold zero entitlement rows between them.
What the ledger says
Times are UTC on 1 September 2026, read out of the production tables while writing this. The first time we read these rows we read the gap between the key and the unlocks as minutes. It is hours.
- 10:35:07 A $1.00 USDC payment settles against
POST /provision. We mint a persistent API key and a free-tier identity with no email attached. Transaction0x8d28a0…0c73d3. - 15:19:32 The key's only recorded use. We store one
last_used_atper key and overwrite it, so this is the last call it made, not provably the first. An earlier one would have left no trace. Four hours and forty-four minutes after the key was minted. - 15:19:33 One page is published. It is never revised.
- 15:21:34 $5.00 settles for
make_permanentagainst that page, 121 seconds after it was published. Transaction0x416f47…df1aac. - 15:21:35 $25.00 settles for
higher_limits, one second after the previous payment. Transaction0xc142f2…933541.
Four hours, forty-six minutes and twenty-eight seconds from the door to the top of the ladder. Every payment went to 0xcc985ba6934d134feec4824ba40258608f3a4333 on Base, which is the payee address our 402 challenges have advertised since June, so all three are checkable without taking our word for anything.
For scale, and because honest baselines matter more than big ones: all-time settled x402 in our ledger is nine grants totalling $37.00, several of them our own proving runs. This one afternoon is $31.00 of it.
Why it bought both unlocks
The obvious reading of two purchases one second apart is that something bought the same thing twice. It did not, and the reason is the most interesting fact available here.
higher_limits is $25.00 for 30 days and it is account-wide: 1 GB per page, no daily publish cap, no page cap, and new pages that do not have to carry a deadline. It raises the ceiling on what the identity does next. What it does not do is reach back and rewrite a deadline already written on a page. That page had been published two minutes earlier under free-tier caps, which put a seven-day deadline in its row, and the only unlock that clears that row is make_permanent, at $5.00, once, for one page, with no expiry on the entitlement itself.
So the two payments do different jobs. The $5.00 rescued the page it had just made. The $25.00 bought headroom for the next 30 days. And the ordering has a consequence worth stating plainly: on 1 October the lift lapses, the identity falls back to free-tier caps, and that one page keeps serving with no deadline anyway. It bought permanence that outlives its own subscription.
Whether that was reasoned or lucky, we cannot say. It is correct either way, and it is the behaviour the catalogue is supposed to produce: bounded things are one-time, things with ongoing cost are time-boxed, and nothing in the ladder quietly sells the same guarantee twice.
Why the ladder is shaped like this
An agent has no human to sign up, no card to enter and no dashboard to click. If the only way past a limit is a pricing page, the limit is a wall. So the ladder is four calls, each of which answers for itself:
GET /unlockreturns the menu: feature, price, whether it is per-page or per-identity, whether it renews. That is the pricing page, as JSON.POST /provisionanswers an unpaid request with a 402 carrying payment requirements, settles $1.00, and returns a persistent key. No signup.- Publishing is an ordinary authenticated call with that key.
- Asking for an unlock without paying returns a 402 priced for that exact SKU. Pay, retry, done.
Every price a buyer needs is inside a response it was already going to read. Nothing requires a session or a person. That was live from June, and for nearly three months the answer to "will anything actually climb it" was no: six identities paid the dollar at the door and stopped there. One afternoon does not make it a channel, but it does retire the question of whether the shape works.
What we cannot tell you
This is the part most write-ups skip, so it gets its own heading.
We cannot tell you it was autonomous. There is a claim on the other side of this about how it happened. We cannot verify it, so we will not repeat it as fact. What our ledger actually proves is narrow: a wallet we do not control paid three times, a key we minted published once, and nobody touched an account, a card or a session on our side. That is real and it is not the same claim. Two things we can see point the other way, both from our own logs and neither conclusive: the page went up before the two payments rather than after, and a chat client's link-preview bot fetched the URL thirty seconds after the last payment, which is what happens when a link is pasted somewhere a person is reading. Neither proves a human was driving. Both mean we cannot say one was not.
We cannot tell you who it is. The identity is a wallet and a key with no email. The page carries a name, but nothing connects that wallet to any real organisation, and more than one unrelated real organisation uses that name. Naming one would invent an association out of a string in a document. The transaction hashes are public and permanent; that is the part anyone can check, and it is the part we publish.
We cannot show you the page. It is unlisted, which in our model means the URL is the credential, and there is no channel to ask permission. A private-by-default host that publishes its customers' unlisted pages when they make a good story is not private by default. So there is no link, no screenshot and no description of it here, and there would not be one if the page were ten times more interesting.
What would change the picture
Three things, in order of how much they would move it. A renewal on 1 October, when the 30-day lift lapses, which would be our first recurring x402 revenue and the first evidence of a workload rather than an experiment. A second wallet doing the same thing, which turns one data point into a rate. And the ratio we actually care about, unlocks per provision, which today stands at two unlocks across seven provisioned identities, all of them from one buyer on one afternoon.
The honest summary: the plumbing works, the ladder is walkable, one thing walked it, and we still do not know what was at the other end. We will update this post when 1 October answers the first question.
See it in one call, no account
curl -X POST https://api.stacktr.ee/sites -F file=@index.html
# → a private URL, live for 24h. Claim it free to keep it.
If your agents emit HTML, they need a durable publish target: publish once, then
update_site
on every revision keeps the same URL forever. MCP, REST, and skills all speak it:
the map is at agent.txt.
Frequent questions
What did the machine actually buy? +
POST /provision, $5.00 for make_permanent on the single page it had just published, and $25.00 for higher_limits, a 30-day account-wide lift. Total $31.00. All three settled on-chain and all three sit in our grants ledger keyed on the settlement hash.Why buy both make_permanent and higher_limits? Is that not the same thing twice? +
higher_limits raises the ceiling on what the identity does next, for 30 days: 1 GB per page, no daily publish cap, no page cap, and new pages that need not carry a deadline. It does not go back and rewrite a deadline already stored on an existing page. That page had been published under free-tier caps two minutes earlier, so its row carried a seven-day deadline, and make_permanent is the only unlock that clears it. So the $5 rescued the page it had already made and the $25 bought headroom for the next 30 days. When the lift lapses on 1 October the identity drops back to free caps and that one page keeps serving with no deadline. It bought permanence that outlives its own subscription.How does an agent find out what the unlocks cost? +
GET /unlock returns the menu: feature name, price, whether it applies to one page or to the whole identity, and whether it renews. Ask for an unlock without paying and the 402 response carries the price and the payment requirements for that exact SKU. No session, no card form, no pricing page. The price list is a machine-readable resource, which is the entire design.Was the buyer autonomous, with no human involved? +
Why does this post not name the buyer? +
Is x402 a revenue channel for Stacktree yet? +
What happens on 1 October? +
higher_limits entitlement expires at 15:21:35 UTC on 1 October 2026 and the identity falls back to free-tier caps. Renewing takes a fresh 402 and a fresh payment. A renewal would be our first recurring x402 revenue and the strongest signal available that there is a workload here and not a test. We will report it either way.Related guides
- The live endpoint Pay-to-provision, the unlock catalogue and the rails menu. Point an agent at it.
- 30 days of a live paid endpoint The baseline this post breaks: every payer paid exactly once, and nobody came back.
- An agent paid $1 to provision itself The first rung of the ladder, documented when it happened.
- How to add x402 to your API The build guide, gotchas included, if you want a ladder of your own.
- Pricing for humans The flat plans people buy, next to the à-la-carte rail agents buy.
- MPP vs x402 The other agentic rail, compared without the tribalism.
Sources and further reading
- BaseScan ↗ The Base block explorer. The three transaction hashes in this post resolve there, against the payee address we have advertised since June.
- x402.org ↗ The protocol site: spec, facilitators and client libraries behind the 402 flow described here.
- x402scan ↗ The public explorer for x402 resources, and where most buyers find our endpoint.
The menu is a GET request.
GET /unlock returns the prices. A 402 returns the terms. Nothing in the ladder needs a person. It is live right now.
Sign up free →