-
-
Aisle Recovery Trace
-
After detecting a 402 billing error, Aisle requires manual human approval of the minimum top-up credit amount with the URL attached
-
After the user clicks into the approval URL and sees the one-tap approval card of the minimum amount on the right
-
Computer-use-agent using the cursor in Steel's web browser to complete the top-up transaction
-
Finally, the agent continues and outputs the desired result
-
Aisle is compatible across different platforms, whether its a small SaaS (testing studio), Openrouter, or Higgsfield.
Inspiration
Ever have an AI agent stop halfway through a task because it ran out of credits?
Normally, you have to leave the agent, find the vendor’s billing page, choose a plan, complete checkout, and then restart the task, often losing the agent’s context along the way.
So, we made Aisle: the transaction recovery layer for AI agents.
Let me share an anecdote. I handed my coding agent a task and walked away. Mid-run it called an image-generation MCP, hit a 402 — out of credits — and just died, printing a vague "top up your credits on the website" with no link and no amount. Everything it had built was lost, and I was left hunting for the vendor, guessing how many credits I needed, checking out by hand, then re-running the whole task from scratch. That wall was purely about money, not capability. Aisle makes sure an agent pauses and recovers instead of dying.
What it does
Recovery layer that keeps AI agents alive when they hit a paywall. When an agent's tool call fails for credits/quota, Aisle:
- Detects the paywall (
402,insufficient_credits, quota) and freezes a checkpoint of the exact call. - Quotes the minimum purchase that clears the shortfall.
- Asks the human once — a single tap on a signed, origin- and amount-locked mandate.
- Buys the credits on the user's own account (vendor API/WebMCP fast lane, or a real cloud browser slow lane).
- Verifies the account balance actually moved.
- Replays the original call so the agent resumes where it stalled.
How we built it
Aisle runs as an MCP server the agent connects to, proxying its vendor tools so it catches failures live.
- Two lanes: a fast lane over a vendor's purchase API/WebMCP; a slow lane driving a Steel cloud Chrome over CDP with Playwright, restoring a saved per-vendor login profile.
- Resolver ladder for unseen checkouts: schema.org offers → recorded click-paths → an LLM "picker" over the accessibility tree that only ever moves toward checkout.
- Guardrails: signed HMAC mandates (origin-locked, amount-capped), an origin lock on checkout, balance-delta verification, and one hard rule — no model ever clicks submit.
Steel Technologies Used: Steel Browser, Steel Computer Use, Steel Profiles, Steel Credentials Vault, Steel Proxy and dedicated IP support, Playwright over CDP
Challenges we ran into
- Bot detection served an "unsupported browser" wall that looked like a logout; fixed with a stealth fingerprint kept identical across login and purchase sessions.
- Promo modals blocked clicks — the cursor "stuck" — so we dismiss overlays and bound every click to fail fast.
- Menu-hidden balances ("Credits 35 left" in an avatar dropdown) needed reveal + retry.
- The LLM took the bait — clicking "Upgrade 55% OFF" over the top-up — until we clicked the entry point deterministically, filtered upsells, and scrolled the pack into view.
- A stale recorded path misread a total as "$1"; our submit guard refused, and recordings now self-heal.
Accomplishments that we're proud of
- A recovery that runs end-to-end: detect → approve → buy in a real browser → verify → replay.
- A safety model we never compromised to ship it.
- Site-specific hacks turned into reusable, config-driven mechanisms, so a new vendor is config, not code.
- Withheld-submit mode let us exercise the whole pipeline against real vendors for $0.
What we learned
- The last mile is a UI problem, not an AI problem — modals, hidden state, scrolling, waiting.
- Determinism beats cleverness at the buy step; every time we trusted the model to find the path, a promo won.
- Verify state, never trust receipts — payments settle asynchronously.
- Fail safe, loudly — refusing to submit on a misread total beats "usually" being right.
What's next for Aisle
- Auto-discovering balance and top-up surfaces so onboarding is near-zero config.
- One-tap mobile approvals with spend history and per-vendor ceilings.
- API-first balance reads wherever vendors expose them.
- The same detect → approve → recover → replay loop for expired tokens, rate limits, and any recoverable wall.
Built With
- cdp
- higgsfield
- mcp
- node.js
- openrouter
- playwright
- smoke-testing
- steel
- steel-computer-use-for-claude
- steel-credentials-api
- steel-profiles-api
- steel-web-browser
- stripe
- typescript
- vitest
- wsl2


Log in or sign up for Devpost to join the conversation.