x402 skill
Set up Browser Use Cloud payments with x402 — pay per request from a crypto wallet (USDC on Base mainnet), no signup or API key. Two setups it works out up front — "just use it" (set up a wallet so you or Claude Code can run cloud browser tasks paid from the wallet — Claude writes and runs throwaway scripts, nothing touches your codebase) or "build it in" (install the SDK and write the key + code into your project). Walks through wallet setup, funding, .env, and a ~$1 test run. Use when the user asks about x402, pay-per-use, USDC payments, or wants Browser Use Cloud without an API key. For an API key instead, run `browser-use login` or use the `cloud` skill.
Is the x402 skill safe?
Clean: nothing in its files matched our rules. We read 1 file in the folder on 2026-11-10.
No findings.
Install the x402 skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/browser-use/browser-use.git /tmp/browser-use mkdir -p ~/.claude/skills cp -r /tmp/browser-use/skills/x402 ~/.claude/skills/x402
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
Browser Use Cloud — pay with x402 (crypto wallet)
This is a scripted flow. Follow the steps in order. x402 only works through the SDK (browser-use-sdk for Python, the browser-use npm package for TS) — there is no browser-use CLI command for it, so every step runs a short SDK script.
How to use this script
- Lines under Say: are spoken to the user word for word. Don't paraphrase, add, or drop anything.
- inside a Say block is a fill-in — replace it with the real value, keep the rest exact.
- Lines under Ask: use the AskUserQuestion tool. Use the question and option text exactly as written.
- To show an explanation before a question, put it inside the AskUserQuestion question field (it renders above the options). Don't send it as separate chat text before calling the tool — that text gets dropped when the question UI opens. So: explanation + the actual question both go in the question field, in one tool call.
- Lines under Do: are your actions. Don't read them out.
- Track two facts as you go: SETUP (A or B, from Step 1) and MODE (A or B, from Step 2).
- SETUP, MODE, and the Path A/B/C names are internal labels for you only. Never say them to the user. Describe choices in plain words instead (e.g. "top up your account" / "accountless wallet"), never "Mode B" or "Path A".
Step 1 — Open and pick the setup
Ask: (header: Use x402) — put the explanation and the question both in the question field, exactly:
x402 is a protocol from Coinbase that, instead of presenting an API key, allows you to use crypto to pay for API requests. x402 lets you pay Browser Use per request from a crypto wallet with USDC on Base — no signup, API key, or credit card needed, just a wallet. Setup takes a few minutes: get or make a wallet, add funds, save the key in .env, and test it.
How do you want to use x402?
- Just use it — Run Browser Use tasks, paid from your wallet, here in terminal by asking me. I set up the wallet and key.
- Build it in — You're coding an app and want x402 in it. I will help you install the SDK, save the key to your project's .env, and add code.
Do: "Just use it" → SETUP = A. "Build it in" → SETUP = B.
Step 2 — Find the account (check before asking)
Do: Look for an existing Browser Use API key, in this order. Don't say anything yet.
- BROWSERUSEAPI_KEY in the environment
- a BROWSERUSEAPI_KEY= line in ./.env
- the key browser-use login stored (browser-use auth status says whether there is one)
- browser-use doctor output, if the CLI is installed
If no key is found anywhere:
Say:
No Browser Use key found, so I'll set this up accountless: the wallet is your identity, and the first payment makes a project named after it.
Do: MODE = A. Go to Step 3.
If a key is found:
Ask: (header: Account) — question: I found a Browser Use API key in . Where should the USDC credits go?
- Top up that account — Credits go to your existing API key's project. Good if your free credits ran out, or you'd rather pay with crypto than a card.
- Accountless wallet — The wallet is a separate identity. The first payment makes a fresh project named after the wallet, apart from your existing account.
Do: "Top up that account" → MODE = B. "Accountless wallet" → MODE = A.
Step 3 — Wallet
Ask: (header: Wallet) — question: Do you have a wallet ready, or should I set one up?
- I have a funded wallet — An EVM wallet (MetaMask, Rabby, Coinbase Wallet, Frame, Phantom, …) with USDC on Base mainnet.
- Walk me through it — I'll guide you through making a wallet, adding Base, and buying USDC.
- Make a fresh one — I'll generate a throwaway wallet for automation. You'll still need to fund it.
Branch on the answer.
Path A — "I have a funded wallet"
Do: Check .env is in .gitignore; add it if missing.
Ask: (header: Add key) — put the note and the question both in the question field:
Your wallet's private key needs to go into .env. You can paste it here and I'll add it for you, or add it yourself. Heads up: anything pasted in chat is saved in the transcript, so for a high-value wallet, adding it yourself is a bit safer. How do you want to do it?
- Paste it here — Paste your private key in the chat and I'll write it to .env for you.
- I'll add it myself — You add it to .env, then send me just your public address.
If "Paste it here":
Do: Write BROWSERUSEX402PRIVATEKEY= to .env (create the file if needed; make sure .env is gitignored). Never echo the key back or print it anywhere.
Say:
Saved your key to .env — I won't print it back.
Do: Go to Step 4.
If "I'll add it myself":
Say:
Add this line to your .env, then send me your wallet's public address (the 0x… one — safe to share):
BROWSERUSEX402PRIVATEKEY=
Do: When they send the address, check it matches ^0x[0-9a-fA-F]{40}$.
Say:
Got it: . That's a valid address.
Do: Go to Step 4.
Path B — "Walk me through it"
Say:
1. Install MetaMask (or Rabby, Coinbase Wallet, Frame, Trust Wallet, Phantom, …) from the official site only: https://metamask.io. Make a wallet, save the seed phrase offline, set a password.
2. Add Base as a network. Open https://chainlist.org/chain/8453 → "Connect Wallet" → "Add to MetaMask", then approve it in your wallet.
3. Click "Buy" in your wallet. Pick USDC, network Base, pay with card / Apple Pay / bank. The USDC lands straight in your wallet.
4. Get the private key: account menu → Account details → Show private key → enter password → copy.
5. Add it to your .env (make sure .env is gitignored):
BROWSERUSEX402PRIVATEKEY=
6. Send me your wallet's public address (the 0x… one) so I can check it.
Do: Then follow Path A from the address check onward.
Path C — "Make a fresh one"
Do: Generate a wallet. Save the key to .env. Show the address only.
Python:
pip install eth-accountfrom eth_account import Account
acc = Account.create()
print("Address:", acc.address)
print("Private key:", acc.key.hex())TypeScript:
npm install viemMore skills from browser-use/browser-use
- Abrowser-useDirect browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers hosted cloud browsers for AI agents: the browser-use Python library (Browser()), Playwright, Puppeteer or any CDP client.
- Abrowser-useDirect browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers hosted cloud browsers for AI agents: the browser-use Python library (Browser()), Playwright, Puppeteer or any CDP client.
- DcloudDocumentation reference for using Browser Use Cloud — the hosted API and SDK for browser automation. Use this skill whenever the user needs help with the Cloud REST API (v2, v3, or v4), browser-use-sdk (Python or TypeScript), X-Browser-Use-API-Key authentication, cloud sessions, browser profiles, profile sync, CDP WebSocket connections, stealth browsers, residential proxies, CAPTCHA handling, webhooks, workspaces, skills marketplace, liveUrl streaming, pricing, or integration patterns (chat UI, subagent, adding browser tools to existing agents). Also trigger for questions about n8n/Make/Zapier integration, Playwright/ Puppeteer/Selenium on cloud infrastructure, or 1Password vault integration. Do NOT use this for the open-source Python library (Agent, Browser, Tools config) — use the open-source skill instead.
- Aopen-sourceReference for writing Python code against the browser-use 1.0 open-source library (Agent, Browser, Tools, models, sensitive data, results). Use it whenever the user writes code that imports from browser_use, asks about Agent or Browser options, supported models, custom tools, or migrating from browser-use 0.x. Do NOT use this for Cloud API/SDK usage or pricing (use the cloud skill), or for driving a browser through the CLI (use the browser-use skill).
- CqaQA-test a website or web app and return a 1-5 quality score (5 = flawless, 1 = broken) with evidence. Use when the user wants to test, QA, evaluate, score, or "check how good" a site, page, flow, or app — including a local dev server (e.g. "qa test localhost:5173", "does the checkout work?", "rate this landing page"). Drives a real Browser Use cloud browser, tunneling localhost automatically.
- Aremote-browserControls an isolated Browser Use Cloud browser from a sandboxed machine with the current Browser Use CLI.