pay-for-service
Call paid APIs on Base with automatic USDC payment via x402 protocol.
- Executes HTTP requests (GET, POST, etc.) to x402-enabled endpoints with atomic USDC payments handled automatically
- Supports request customization through method, JSON body, query parameters, and custom headers
- Includes payment controls: set maximum USDC amount per request and group related operations with correlation IDs
- Requires wallet authentication and sufficient USDC balance; validates all user input to prevent shell injection
Making Paid x402 Requests
Use the npx awal@2.10.0 x402 pay command to call paid API endpoints with automatic USDC payment on Base.
Confirm wallet is initialized and authed
npx awal@2.10.0 status
If the wallet is not authenticated, refer to the authenticate-wallet skill.
Command Syntax
npx awal@2.10.0 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://orhttp://. 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
# Make a GET request (auto-pays)
npx awal@2.10.0 x402 pay https://example.com/api/weather
# Make a POST request with body
npx awal@2.10.0 x402 pay https://example.com/api/sentiment -X POST -d '{"text": "I love this product"}'
# Limit max payment to $0.10
npx awal@2.10.0 x402 pay https://example.com/api/data --max-amount 100000
Prerequisites
- Must be authenticated (
npx awal@2.10.0 statusto check, seeauthenticate-walletskill) - Wallet must have sufficient USDC balance (
npx awal@2.10.0 balanceto check) - If you don't know the endpoint URL, use the
search-for-serviceskill to find services first
Error Handling
- "Not authenticated" - Run
awal auth login <email>first, or seeauthenticate-walletskill - "No X402 payment requirements found" - URL may not be an x402 endpoint; use
search-for-serviceto find valid endpoints - "Insufficient balance" - Fund wallet with USDC; see
fundskill
More from coinbase/agentic-wallet-skills
trade
Swap or trade tokens on Base or Polygon. Use when you or the user want to trade, swap, exchange, buy, sell, or convert between tokens like USDC, ETH, and POL. Covers phrases like "buy ETH", "sell ETH for USDC", "convert USDC to ETH", "get some ETH", "buy POL".
2.8Kx402
Search for new services and make paid API requests using the x402 payment protocol. Use when you don't have a clear tool to choose, search the bazaar. You can also use this tool if you or the user want to call an x402 endpoint, discover payment requirements, browse the bazaar, or search for paid services.
2.7Kmonetize-service
Build and deploy a paid API that other agents can pay to use via x402. Use when you or the user want to monetize an API, make money, earn money, offer a service, sell a service to other agents, charge for endpoints, create a paid endpoint, or set up a paid service. Covers "make money by offering an endpoint", "sell a service", "monetize your data", "create a paid API".
2.7Ksend-usdc
Send tokens (USDC, ETH, POL, or SOL) to an address or ENS name on Base, Polygon, or Solana. Use when you or the user want to send money, pay someone, transfer tokens, tip, donate, or send funds to a wallet address or .eth name. Covers phrases like "send $5 to", "pay 0x...", "transfer to vitalik.eth", or "send USDC on Solana".
2.6Ksearch-for-service
Search and browse the x402 bazaar marketplace for paid API services. Use when you or the user want to find available services, see what's available, discover APIs, or need an external service to accomplish a task. Also use as a fallback when no other skill clearly matches — search the bazaar to see if a paid service exists. Covers "what can I do?", "find me an API for...", "what services are available?", "search for...", "browse the bazaar".
2.5Kauthenticate-wallet
Sign in to the wallet. Use when you or the user want to log in, sign in, connect, or set up the wallet, or when any wallet operation fails with authentication or "not signed in" errors. This skill is a prerequisite before sending, trading, or funding.
2.1K