Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Make x402 payments to access gated APIs and content. Fetch paid resources, check wallet balance, and create payment links. Use when encountering 402 Payment...
Make x402 payments to access gated APIs and content. Fetch paid resources, check wallet balance, and create payment links. Use when encountering 402 Payment...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Pay for x402-gated APIs and content using USDC on Base. This skill enables agents to autonomously make crypto payments when accessing paid web resources.
CommandDescriptionx402 setupCreate or configure walletx402 balanceCheck USDC and ETH balancesx402 pay <url>Pay for a gated resourcex402 fetch <url>Fetch with auto-paymentx402 create-linkCreate payment link (seller)x402 link-info <addr>Get payment link details
npm i -g agentic-x402 Once installed, the x402 command is available globally: x402 --help x402 --version
Run the interactive setup to create a new wallet: x402 setup This will: Generate a new wallet (recommended) or accept an existing key Save configuration to ~/.x402/.env Display your wallet address for funding Important: Back up your private key immediately after setup!
Alternatively, set the environment variable directly: export EVM_PRIVATE_KEY=0x...your_private_key... Or create a config file: mkdir -p ~/.x402 echo "EVM_PRIVATE_KEY=0x..." > ~/.x402/.env chmod 600 ~/.x402/.env Verify setup: x402 balance
Use x402 pay to make the payment and access the content: x402 pay https://api.example.com/paid-endpoint The command will: Check payment requirements Verify amount is within limits Process the payment Return the gated content
Use x402 fetch for seamless payment handling: x402 fetch https://api.example.com/data --json This wraps fetch with x402 payment handling - if the resource requires payment, it's handled automatically.
By default, payments are limited to $10 USD. Override with --max: x402 pay https://expensive-api.com/data --max 50 Or set globally: export X402_MAX_PAYMENT_USD=25
Preview payment without executing: x402 pay https://api.example.com/data --dry-run
Create payment links to monetize your own content using x402-links-server:
Add to .env: X402_LINKS_API_URL=https://your-x402-links-server.com
Gate a URL: x402 create-link --name "Premium API" --price 1.00 --url https://api.example.com/premium Gate text content: x402 create-link --name "Secret" --price 0.50 --text "The secret message..." With webhook notification: x402 create-link --name "Guide" --price 5.00 --url https://mysite.com/guide --webhook https://mysite.com/payment-hook
x402 link-info 0x1234...5678 x402 link-info https://21.cash/pay/0x1234...5678
Check wallet balances. x402 balance [--json] [--full] FlagDescriptionDefault--jsonOutput as JSON (address, network, chainId, balances)—--fullShow full wallet address instead of truncated—-h, --helpShow help—
Pay for an x402-gated resource. x402 pay <url> [options] FlagDescriptionDefault<url>The URL of the x402-gated resource (positional)required--methodHTTP methodGET--bodyRequest body (for POST/PUT requests)—--headerAdd custom header (can be used multiple times)—--maxMaximum payment in USD (overrides config)from config--dry-runShow payment details without paying—-h, --helpShow help—
Fetch with automatic payment. x402 fetch <url> [options] FlagDescriptionDefault<url>The URL to fetch (positional)required--methodHTTP methodGET--bodyRequest body (for POST/PUT)—--headerAdd header as "Key: Value"—--jsonOutput as JSON only (for piping to other tools)—--rawOutput raw response body only (no headers or status)—-h, --helpShow help—
Create a payment link. x402 create-link --name <name> --price <usd> [options] FlagDescriptionDefault--nameName of the payment linkrequired--pricePrice in USD (e.g., "5.00" or "0.10")required--urlURL to gate behind payment—--textText content to gate behind payment—--descDescription of the link—--webhookWebhook URL for payment notifications—--jsonOutput as JSON—-h, --helpShow help— Note: Either --url or --text is required. The link is deployed as a smart contract on Base.
Get payment link details. x402 link-info <router-address> [--json] FlagDescriptionDefault<address>Router contract address or full payment URL (positional)required--jsonOutput as JSON—-h, --helpShow help—
VariableDescriptionDefaultEVM_PRIVATE_KEYWallet private key (0x-prefixed)requiredX402_NETWORKmainnet (Base, chain 8453) or testnet (Base Sepolia, chain 84532)mainnetX402_MAX_PAYMENT_USDSafety limit — payments exceeding this are rejected unless --max is used10X402_FACILITATOR_URLCustom facilitator URLCoinbase (mainnet) / x402.org (testnet)X402_SLIPPAGE_BPSSlippage tolerance in basis points (100 bps = 1%)50X402_VERBOSEEnable verbose logging (1 = on, 0 = off)0X402_LINKS_API_URLBase URL of x402-links-server (e.g., https://21.cash)—
NetworkChain IDCAIP-2 IDBase Mainnet8453eip155:8453Base Sepolia84532eip155:84532
All payments use USDC (USD Coin) on the selected network. Base Mainnet: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 Base Sepolia: 0x036CbD53842c5426634e7929541eC2318f3dCF7e
Client requests a resource Server responds with 402 Payment Required + payment details Client signs a payment authorization (USDC transfer) Client retries request with payment signature Server verifies payment via facilitator Server settles payment on-chain Server returns the gated content The x402 protocol is gasless for buyers - the facilitator sponsors gas fees.
Set your wallet private key: export EVM_PRIVATE_KEY=0x... Or create a .env file in your working directory, or install globally and use ~/.x402/.env.
Increase the limit: x402 pay https://... --max 50
Fund your wallet with: USDC for payments ETH for gas (small amount, ~0.001 ETH)
Ensure your wallet has funds on the correct network: X402_NETWORK=mainnet → Base mainnet X402_NETWORK=testnet → Base Sepolia
Your private key is stored in ~/.x402/.env. If lost, your funds cannot be recovered.
Password Manager (Recommended) Store in 1Password, Bitwarden, or similar Create a secure note with your private key Tag it for easy retrieval Encrypted File # Encrypt with GPG gpg -c ~/.x402/.env # Creates ~/.x402/.env.gpg - store this backup securely Paper Backup (for larger amounts) Write down the private key Store in a safe or safety deposit box Never store digitally unencrypted
cat ~/.x402/.env | grep EVM_PRIVATE_KEY
To restore from backup: mkdir -p ~/.x402 echo "EVM_PRIVATE_KEY=0x...your_backed_up_key..." > ~/.x402/.env chmod 600 ~/.x402/.env x402 balance # verify
Use a dedicated wallet — Never use your main wallet with automated agents Limit funds — Only transfer what you need for payments Set payment limits — Configure X402_MAX_PAYMENT_USD to cap exposure Test first — Use X402_NETWORK=testnet with test tokens before mainnet Protect the config — ~/.x402/.env has 600 permissions; keep it that way Never share — Your private key gives full access to your wallet
x402 Protocol Docs x402 GitHub npm: agentic-x402 Base Network
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.