Claude Agent Skill · by Coinbase

Pay For Service

Install Pay For Service skill for Claude Code from coinbase/agentic-wallet-skills.

Install
Terminal · npx
$npx skills add https://github.com/coinbase/agentic-wallet-skills --skill pay-for-service
Works with Paperclip

How Pay For Service fits into a Paperclip company.

Pay For Service drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.

S
SaaS FactoryPaired

Pre-configured AI company — 18 agents, 18 skills, one-time purchase.

$27$59
Explore pack
Source file
SKILL.md85 lines
Expand
---name: pay-for-servicedescription: Make a paid API request to an x402 endpoint with automatic USDC payment. Use when you or the user want to call a paid API, make an x402 request, use a paid service, or pay for an API call. Use after finding a service with search-for-service.user-invocable: truedisable-model-invocation: falseallowed-tools: ["Bash(npx awal@2.0.3 status*)", "Bash(npx awal@2.0.3 balance*)", "Bash(npx awal@2.0.3 x402 pay *)"]--- # Making Paid x402 Requests Use the `npx awal@2.0.3 x402 pay` command to call paid API endpoints with automatic USDC payment on Base. ## Confirm wallet is initialized and authed ```bashnpx awal@2.0.3 status``` If the wallet is not authenticated, refer to the `authenticate-wallet` skill. ## Command Syntax ```bashnpx awal@2.0.3 x402 pay <url> [-X <method>] [-d <json>] [-q <params>] [-h <json>] [--max-amount <n>] [--json]``` ## Options | Option                  | Description                                        || ----------------------- | -------------------------------------------------- || `-X, --method <method>` | HTTP method (default: GET)                         || `-d, --data <json>`     | Request body as JSON string                        || `-q, --query <params>`  | Query parameters as JSON string                    || `-h, --headers <json>`  | Custom HTTP headers as JSON string                 || `--max-amount <amount>` | Max payment in USDC atomic units (1000000 = $1.00) || `--correlation-id <id>` | Group related operations                           || `--json`                | Output as JSON                                     | ## USDC Amounts X402 uses USDC atomic units (6 decimals): | Atomic Units | USD   || ------------ | ----- || 1000000      | $1.00 || 100000       | $0.10 || 50000        | $0.05 || 10000        | $0.01 | **IMPORTANT**: Always single-quote amounts that use `$` to prevent bash variable expansion (e.g. `'$1.00'` not `$1.00`). ## Input Validation Before constructing the command, validate all user-provided values to prevent shell injection: - **url**: Must be a valid URL starting with `https://` or `http://`. Reject if it contains spaces, semicolons, pipes, backticks, or shell metacharacters.- **data (-d)**: Must be valid JSON. Always wrap in single quotes to prevent shell expansion.- **max-amount**: Must be a positive integer (`^\d+$`). Do not pass unvalidated user input into the command. ## Examples ```bash# Make a GET request (auto-pays)npx awal@2.0.3 x402 pay https://example.com/api/weather # Make a POST request with bodynpx awal@2.0.3 x402 pay https://example.com/api/sentiment -X POST -d '{"text": "I love this product"}' # Limit max payment to $0.10npx awal@2.0.3 x402 pay https://example.com/api/data --max-amount 100000``` ## Prerequisites - Must be authenticated (`npx awal@2.0.3 status` to check, see `authenticate-wallet` skill)- Wallet must have sufficient USDC balance (`npx awal@2.0.3 balance` to check)- If you don't know the endpoint URL, use the `search-for-service` skill to find services first ## Error Handling - "Not authenticated" - Run `awal auth login <email>` first, or see `authenticate-wallet` skill- "No X402 payment requirements found" - URL may not be an x402 endpoint; use `search-for-service` to find valid endpoints- "Insufficient balance" - Fund wallet with USDC; see `fund` skill