Skip to main content

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.

Jump to install

Source facts

Repository
mediar-ai/skillhubz
Last source activity
March 1, 2026 at 22:56
Detected SKILL.md language
English
Stars
7
Forks
4

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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 ```bash npx awal@2.0.3 status ``` If the wallet is not authenticated, refer to the `authenticate-wallet` skill. ## Command Syntax ```bash 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://` 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 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 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
View on GitHub