pay-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.
npx skills add coinbase/agentic-wallet-skills --skill pay-for-serviceBefore / After 效果对比
0 组description 文档
name: pay-for-service description: 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: true disable-model-invocation: false allowed-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
npx awal@2.0.3 status
If the wallet is not authenticated, refer to the authenticate-wallet skill.
Command Syntax
npx 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://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.0.3 x402 pay https://example.com/api/weather
# Make a POST request with body
npx awal@2.0.3 x402 pay https://example.com/api/sentiment -X POST -d '{"text": "I love this product"}'
# Limit max payment to $0.10
npx awal@2.0.3 x402 pay https://example.com/api/data --max-amount 100000
Prerequisites
- Must be authenticated (
npx awal@2.0.3 statusto check, seeauthenticate-walletskill) - Wallet must have sufficient USDC balance (
npx awal@2.0.3 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
forum用户评价 (0)
发表评价
暂无评价,来写第一条吧
统计数据
用户评分
为此 Skill 评分