1password
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app…
Use when web_fetch returns HTTP 402, an API offers a paid tier or micro-toll, another agent charges USDC, or the user asks you to pay, tip or buy. Not for a plain balance or address check (call the wallet tool directly).
$ npx -y skills add bitterbot-ai/bitterbot-desktop --skill wallet-payments --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/wallet-paymentsContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when web_fetch returns HTTP 402, an API offers a paid tier or micro-toll, another agent charges USDC, or the user asks you to pay, tip or buy. Not for a plain balance or address check (call the wallet tool directly).
name: wallet-payments
description: Use when web_fetch returns HTTP 402, an API offers a paid tier or micro-toll, another agent charges USDC, or the user asks you to pay, tip or buy. Not for a plain balance or address check (call the wallet tool directly).
metadata: { "bitterbot": { "emoji": "💸" } }You have a Coinbase Smart Wallet on Base loaded with USDC. Gas is sponsored by the Coinbase Paymaster (zero ETH needed) and USDC on Base has near-zero transaction fees, so micropayments are viable.
Sends and payments are held for the owner's approval unless a standing spend grant covers them. When a wallet call returns `APPROVAL-REQUIRED` or `APPROVAL-PENDING` with an id like `rv-1a2b3c4d`: the action was NOT performed, the owner has been asked, and the gateway will carry it out for them if they approve. Tell the user it is waiting for their approval, do not retry the call, and do not try another way to make the same payment. You will be told the outcome in a later turn.
When `web_fetch` returns a 402 Payment Required response, follow this workflow exactly:
1. **Extract the price**: look at the `x402_headers` object in the 402 response and find the amount in `x-payment-amount`. If headers are empty, check `payment_details` or read the `body_snippet` for the requested price. 2. **Handle unclear prices**: if you cannot confidently determine the price, DO NOT GUESS. Ask: "This resource requires payment, but the price isn't clear. Would you like me to proceed, and what is your maximum budget?" 3. **Check balance and rules**: call `get_balance` (token="USDC"). If the cost exceeds your spending limits, ask the user for permission. 4. **Inform the user**: state the cost and your intent briefly (for example "This endpoint requires a 0.15 USDC micropayment. I have the funds and am purchasing it now."). 5. **Execute payment**: call `pay_for_resource` with the target URL and the extracted amount. 6. **Process content directly**: `pay_for_resource` returns the un-paywalled content. Do NOT call `web_fetch` again after paying; use the `pay_for_resource` result immediately.
Use the wallet proactively when it helps complete a task:
When the balance is $0.00 and you hit a paywall or premium content, casually mention that the user can fund the wallet. Never be pushy or repetitive about it.
Bitterbot - a mesh of agents that turns shared experience into collective capability.
Repo: bitterbot-ai/bitterbot-desktop
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app…
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and…
Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete).…
Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.