Make x402 payments to access paid APIs and gated content. Use when a skill needs to fetch data from x402-gated endpoints (like Kaito mindshare API, Simmer premium endpoints, or any x402 provider). Handles 402 Payment Required responses automatically using USDC on Base.
Pay for x402-gated APIs using USDC on Base. This skill enables agents to autonomously make crypto payments when accessing paid web resources.
Use this skill when:
Set your wallet private key
export EVM_PRIVATE_KEY=0x...your_private_key...
Falls back to WALLET_PRIVATE_KEY if EVM_PRIVATE_KEY is not set (same key Simmer/Polymarket users already have). Your EVM address works on all chains — Polygon for trading, Base for x402 payments.
Fund with USDC on Base
Install dependencies
pip install x402[httpx,evm]
| Command | Description |
|---|---|
python x402_cli.py balance | Check USDC and ETH balances on Base |
python x402_cli.py fetch <url> | Fetch URL with automatic x402 payment |
python x402_cli.py fetch <url> --json | Same but output raw JSON only |
python x402_cli.py fetch <url> --dry-run | Show payment info without paying |
python x402_cli.py fetch <url> --max 5.00 | Override max payment limit |
python x402_cli.py rpc <network> <method> [params...] | Make RPC call via Quicknode x402 |
python x402_cli.py balance
x402 Wallet Balance
==============================
Address: 0x1234...5678
Network: Base Mainnet
USDC: $42.50
ETH: 0.000000 ETH
python x402_cli.py fetch "https://api.kaito.ai/api/v1/tokens" --json
python x402_cli.py fetch "https://api.kaito.ai/api/payg/mindshare?token=BTC&start_date=2026-02-13&end_date=2026-02-14" --json
python x402_cli.py fetch "https://api.kaito.ai/api/payg/sentiment?token=BTC&start_date=2026-02-13&end_date=2026-02-14" --json
python x402_cli.py fetch "https://api.alphakek.ai/x402/knowledge/ask" \
--method POST --body '{"question": "What is the current sentiment on BTC?", "search_mode": "fast"}' --json
python x402_cli.py fetch "https://pro-api.coingecko.com/api/v3/x402/simple/price?ids=bitcoin&vs_currencies=usd" --json
python x402_cli.py fetch "https://x402.simmer.markets/api/sdk/context/market-123" \
--header "Authorization: Bearer sk_live_..." --json
# Get ETH balance on Ethereum mainnet
python x402_cli.py rpc ethereum-mainnet eth_getBalance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 latest
# Get latest block on Polygon
python x402_cli.py rpc polygon-mainnet eth_blockNumber
# Get token balance on Base
python x402_cli.py rpc base-mainnet eth_call '{"to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","data":"0x70a08231000000000000000000000000YOUR_ADDRESS"}' latest
Quicknode x402 supports 55+ networks (Ethereum, Polygon, Base, Arbitrum, Solana, Bitcoin, and more). $10 buys 1M RPC credits — each successful call costs 1 credit.
| Provider | Endpoint | Price | Description |
|---|---|---|---|
| Kaito | /api/payg/mindshare | $0.02/data point | Token mindshare time series |
| Kaito | /api/payg/sentiment | $0.02/data point | Token sentiment time series |
| Kaito | /api/payg/narrative_mindshare | $0.02/data point | Narrative mindshare time series |
| Kaito | /api/payg/smart_followers | $0.20/request | Smart follower metrics |
| AlphaKek | /x402/knowledge/ask | $0.01/request | AI knowledge engine (POST, search_mode: fast/deep/ultrafast) |
| CoinGecko | /api/v3/x402/simple/price | $0.01/request | Token price data |
| Simmer | /api/sdk/context/:id | $0.005/request | Market context (rate limit bypass) |
| Simmer | /api/sdk/briefing | $0.005/request | Portfolio briefing (rate limit bypass) |
| Simmer | /api/sdk/markets/import | $0.005/request | Market import (daily quota bypass) |
| Quicknode | /:network (55+ networks) | $10/1M credits | Pay-per-request RPC access (no API key needed) |
Kaito API docs: https://github.com/MetaSearch-IO/KaitoX402APIDocs Quicknode x402 docs: https://x402.quicknode.com/llms.txt
| Setting | Environment Variable | Default | Description |
|---|---|---|---|
| Wallet key | EVM_PRIVATE_KEY | (required) | Hex-encoded private key (falls back to WALLET_PRIVATE_KEY) |
| Max payment | X402_MAX_PAYMENT_USD | 10.00 | Safety cap per request |
| Network | X402_NETWORK | mainnet | mainnet or testnet |
Or set via config.json in the skill directory:
{
"max_payment_usd": 10.00,
"network": "mainnet"
}
All payment handling is automatic via the official Coinbase x402 Python SDK.
Other skills can import x402 functions directly:
from skills.x402.x402_cli import x402_fetch
# Returns parsed JSON response
data = await x402_fetch("https://api.kaito.ai/api/payg/mindshare?token=BTC")
x402 Python SDK for payment signingPrivate key safety:
.env file, never pass it inline in shell history.env is in your .gitignore — never commit private keys to git"EVM_PRIVATE_KEY not set"
export EVM_PRIVATE_KEY=0x..."Insufficient USDC balance"
python x402_cli.py balance to check"Payment exceeds max limit"
--max 50 or set X402_MAX_PAYMENT_USD=50"Unsupported network in payment options"