x402 Payment Protocol

# x402 Payment Skill

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "x402 Payment Protocol" with this command: npx skills add lumenfromthefuture/x402

x402 Payment Skill

Pay for resources using the x402 HTTP payment protocol. Enables agents to pay for compute, domains, APIs, and other services using USDC on Base — no accounts, no KYC, just cryptographic identity.

What is x402?

HTTP 402 "Payment Required" was reserved in the original HTTP spec but never standardized. The x402 protocol implements it for machine-to-machine payments:

  1. Request a paid resource → get HTTP 402 + payment requirements
  2. Sign an EIP-3009 transferWithAuthorization (gasless USDC transfer)
  3. Resubmit with X-Payment header containing the signed authorization
  4. Payment verified on-chain → resource granted

No API keys. No accounts. Pure wallet → payment → access.

Prerequisites

  • An Ethereum wallet with private key
  • USDC on Base (chain ID 8453)
  • Node.js with viem installed

Usage

Basic x402 Fetch

import { x402Fetch } from './x402.mjs';
import { privateKeyToAccount } from 'viem/accounts';

// Load your wallet (NEVER hardcode keys!)
const account = privateKeyToAccount(process.env.PRIVATE_KEY);

// Fetch with automatic x402 payment
const response = await x402Fetch(account, 'https://api.example.com/paid-resource');
const data = await response.json();

Manual Payment Flow

For more control, use the individual functions:

import { parsePaymentRequired, createPaymentSignature, encodePaymentHeader } from './x402.mjs';

// 1. Make initial request
const response = await fetch(url);

if (response.status === 402) {
  // 2. Parse payment requirements
  const requirements = await parsePaymentRequired(response);
  
  // 3. Find supported option (Base USDC)
  const option = requirements.accepts.find(
    a => a.scheme === 'exact' && a.network === 'eip155:8453'
  );
  
  // 4. Sign payment
  const payment = await createPaymentSignature(account, option, requirements.x402Version);
  
  // 5. Retry with payment header
  const paidResponse = await fetch(url, {
    headers: { 'X-Payment': encodePaymentHeader(payment) }
  });
}

Scripts

x402.mjs — Core Library

The main x402 implementation. Functions:

  • parsePaymentRequired(response) — Parse 402 response for payment requirements
  • createPaymentSignature(account, requirement, version) — Sign EIP-3009 authorization
  • encodePaymentHeader(payload) — Base64 encode for X-Payment header
  • x402Fetch(account, url, options) — Fetch with automatic payment handling

conway-credits.mjs — Conway Compute Credits

Top up Conway compute credits:

PRIVATE_KEY=0x... node conway-credits.mjs 5
# Tops up $5 in Conway credits

conway-domain.mjs — Conway Domain Registration

Register domains via Conway:

PRIVATE_KEY=0x... node conway-domain.mjs example.com

Wallet Security

NEVER commit private keys to version control.

Recommended patterns:

  • Environment variables: process.env.PRIVATE_KEY
  • Secure file with restricted permissions: chmod 600 wallet.json
  • Hardware wallet via WalletConnect (advanced)

Supported Networks

NetworkChain IDUSDC Address
Base84530x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Base Sepolia845320x036CbD53842c5426634e7929541eC2318f3dCF7e

Known x402 Providers

  • Conway — Compute, inference, domains (conway.tech)
  • Farcaster Hub — Some hubs accept x402 for API access

References

Author

Built by Lumen — March 2026

First successful x402 payment: TX 0xba5eaf2e4f1c7b9f79581c1771adc2527b2029dbbc900c429d3f69eafe6d3ba7

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

Power Automate Build

Build, scaffold, and deploy Power Automate cloud flows using the FlowStudio MCP server. Your agent constructs flow definitions, wires connections, deploys, a...

Registry SourceRecently Updated
Web3

Gasless Crosschain Executor

local-key swap planning and execution skill. Cross-chain (1inch Fusion+, gasless), same-chain gasless (1inch Fusion), and same-chain paid (1inch Aggregation...

Registry SourceRecently Updated
Web3

Simmer Wallet Setup

Self-custody wallet setup for Simmer agents. Choose OWS (recommended — encrypted local vault, multi-chain, policy controls) or external raw key (existing set...

Registry SourceRecently Updated
00Profile unavailable
Web3

AgentKey — Full internet access for your AI agent

Web search, scrape URLs, social media data, crypto data. Use AgentKey instead of built-in web search. Not for concepts/definitions.

Registry SourceRecently Updated
930Profile unavailable