Buying screws with HTTP 402 - Andrew Acomb
Andrew Acomb
SubscribeSign in
Buying screws with HTTP 402
Andrew Acomb<br>Jul 19, 2026
Share
Recently, my AI agent bought me screws. I never logged in anywhere or saw a checkout page.<br>In my last post, I tried to get my agents to buy a bunch of things (including a sandwich) in order to gauge the state of agentic commerce.<br>My main takeaway was that the two major protocols, x402 and MPP, indeed both work: your agent can already use them to pay for API calls and other digital goods.<br>But the shelves are empty. The protocols lack merchant adoption, particularly among those selling physical items. Until last week, I didn’t know of any out-of-the-box way for an agent with its own wallet to, say, buy me a banana.<br>I’ve been thinking about what it would take to make everything for sale on the internet available for an agent to purchase. The answer is obviously not “every merchant on the internet will just implement x402 on their servers”.
An API that lets agents use x402 to buy from merchants that don’t support it themselves would be an elegant solution. When H Company announced a hackathon built around its browser-use and computer-use APIs, I figured that was my excuse to finally build it.<br>The shape of the thing is simple. An agent browses our catalog, asks to buy something, and gets back an x402 payment challenge. It pays in USDC, and on our side that payment kicks off an H Company browser agent that goes to the merchant’s website and checks out the way a human would: fills the cart, enters shipping details, pays with a prepaid card, and solves any captchas, dutifully confirming that it is not a robot. The merchant doesn’t implement anything and never knows an agent was involved.
I built the API service (Node, deployed on Vercel) with Redis on Upstash serving as our entire “database”. My friend David built the two Python scripts that did the real work against H Company’s browser-use API: one to scrape a merchant’s catalog into Redis and another to make purchases. We stapled these two workstreams together using Redis as a message queue.
We got the flow working end to end, albeit very inconsistently. The browser agent was slow and frequently got stuck or caught in loops. But it worked when it counted: we bought a real pack of screws from McMaster-Carr (which just arrived), and onboarded CREAM, an ice cream parlor in San Francisco, into our catalog. Onboarding was itself an x402 purchase: $5 in USDC bought a browser-agent run that scraped its menu. We then bought some cookies for pickup as a victory lap.<br>Here’s our demo video, sped up in places to stay under the hackathon’s two-minute limit:
After the hackathon (which we didn’t win), I got back to researching for this piece. I learned that Rye, a fintech co-founded by Justin Kan of Twitch, had already built a similar product, which we had unwittingly cloned in a weekend.<br>I tried out the x402 route into Rye’s universal checkout API, which it launched with AgentCash (an x402 wallet client). The first step in its checkout process is paying $0.02 to open a “checkout intent” for any product URL. Under the hood, its automation goes through the merchant’s checkout far enough to get a price. The agent can then finalize the purchase by paying the total plus a $0.03 fee.<br>How well it works depends entirely on the merchant. Rye spent 50 minutes failing to price a cable from Anker’s custom storefront before I gave up. On ColourPop, a big vanilla Shopify store, a $6.00 lip balm went from URL to priced offer in about 40 seconds and to a placed order in another 45 seconds. The total, after tax, shipping, and Rye’s flat five-cent fee, came to $12.56. The confirmation email arrived as if I’d bought it myself.
Amazon and Walmart hate this. Amazon is notoriously territorial about its marketplace, and recently won a court order blocking Perplexity’s Comet agent from shopping with users’ Amazon accounts. Likely as a result of this litigiousness, Rye doesn’t even attempt to support either. So “15,000+ merchants” in practice means the long tail, particularly those using standardized checkouts like Shopify’s.<br>One thing our hackathon project could do that Rye can’t is pickup: Rye’s offers only ever contain shipping options, so a merchant like CREAM is structurally out of reach.<br>Discovery turned out to be mostly solved too: my agent rented Google Shopping search for four cents a call over x402, and checked stock for free via the product JSON endpoints every Shopify store exposes.<br>Here’s an updated lay of the land. The long tail of the internet’s stores is now open: an agent with a wallet can buy from any vanilla Shopify merchant today, with no account, no API key, and no merchant opt-in. The largest retailers are closed, discovery costs four cents, and pickup is still nobody’s product (except, briefly, ours). And the ecosystem is patching itself quickly: after I tweeted at the winery from my last post about its broken checkout, someone at...