x402
Discover and call paid APIs using the X402 payment protocol with automatic USDC payments on Base.
- Search a bazaar of paid services by keyword, list all available resources, or inspect an endpoint's price and requirements without paying
- Make authenticated requests to X402 endpoints with automatic USDC payment in atomic units, supporting GET, POST, PUT, DELETE, and PATCH methods
- Includes query parameters, custom headers, request body support, and max-amount spending limits to control payment exposure
- Requires authentication and USDC balance for paid requests; search and details inspection work without credentials
x402 Payment Protocol
Use the npx awal@2.10.0 x402 commands to discover, inspect, and call paid API endpoints using the X402 payment protocol. Payments are made in USDC on Base.
Workflow
The typical x402 workflow is:
- Find a service - Search the bazaar or get details for a known endpoint
- Check requirements - Inspect price, method, and input schema
- Make the request - Call the endpoint with automatic USDC payment
Commands
Search the Bazaar
Find paid services by keyword using CDP's vector search:
npx awal@2.10.0 x402 bazaar search <query> [-k <n>] [--network <network>] [--scheme <scheme>] [--max-price <price>] [--json]
| Option | Description |
|---|---|
-k, --top <n> |
Number of results, 1–20 (default: 20) |
--network <name> |
Filter by chain (base, base-sepolia, polygon, solana, solana-devnet) |
--scheme <scheme> |
Filter by payment scheme: exact or upto |
--max-price <price> |
Maximum price in USD (e.g. 0.01) |
--asset <address> |
Filter by payment asset address |
--pay-to <address> |
Filter by recipient wallet address |
--extensions <type> |
Filter by extension type (e.g. outputSchema, bazaar) |
--json |
Output as JSON |
List Bazaar Resources
Browse all available resources:
npx awal@2.10.0 x402 bazaar list [--network <network>] [--full] [--refresh] [--json]
| Option | Description |
|---|---|
--network <name> |
Filter by chain (base, base-sepolia, polygon, solana, solana-devnet) |
--full |
Show complete details including schemas |
--refresh |
Re-fetch resource index from CDP API |
--json |
Output as JSON |
Discover Payment Requirements
Inspect an endpoint's x402 payment requirements without paying:
npx awal@2.10.0 x402 details <url> [--json]
Auto-detects the correct HTTP method (GET, POST, PUT, DELETE, PATCH) by trying each until it gets a 402 response, then displays price, accepted payment schemes, network, and input/output schemas.
Make a Paid Request
Call an x402 endpoint with automatic USDC payment:
npx awal@2.10.0 x402 pay <url> [-X <method>] [-d <json>] [-q <params>] [-h <json>] [--max-amount <n>] [--json]
| 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 |
Examples
# Search for weather-related paid APIs
npx awal@2.10.0 x402 bazaar search "weather"
# Search with more results
npx awal@2.10.0 x402 bazaar search "sentiment analysis" -k 10
# Check what an endpoint costs
npx awal@2.10.0 x402 details https://example.com/api/weather
# 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
# Browse all bazaar resources with full details
npx awal@2.10.0 x402 bazaar list --full
USDC Amounts
X402 uses USDC atomic units (6 decimals):
| Atomic Units | USD |
|---|---|
| 1000000 | $1.00 |
| 100000 | $0.10 |
| 50000 | $0.05 |
| 10000 | $0.01 |
Prerequisites
- Search/Details: No authentication needed
- Pay: Must be authenticated (
npx awal@2.10.0 auth login <email>) with sufficient USDC balance (npx awal@2.10.0 balance)
Error Handling
- "Not authenticated" - Run
npx awal@2.10.0 auth login <email>first - "No X402 payment requirements found" - URL may not be an x402 endpoint
- "CDP API returned 429" - Rate limited; cached data will be used if available
- "Insufficient balance" - Fund wallet with USDC (
npx awal@2.10.0 balanceto check)
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.8Kpay-for-service
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.
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.6Ksend-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