x402 Micropayments MCP
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Pay-per-call US city property compliance and Base tx checks, paid in USDC on Base via x402.
| Author | io.github.kwizzlesurp10-ctrl |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2408 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"x402 Micropayments MCP": {
"url": "https://x402-mcp.onrender.com/mcp/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (20)
x402.agent_cardread-onlyReturn the A2A Protocol v1.0 Agent ID Card and MCP server card. Optional target_id filters to a skill id, name, or tag.
Parameters:
agent_id— string — Optional calling agent identifier for quota tracking.target_id— string — Optional skill ID, tool name, or tag to inspect. Omit for the full server agent card.
Hints: read-only yes · destructive no · idempotent yes · open-world no
x402.discoverread-onlyDiscover paid HTTP APIs in the x402 Bazaar via the facilitator catalog. Call this first to find a resource URL, then x402.probe and x402.pay_and_fetch.
Parameters:
limit— integer — Maximum number of catalog entries to return. Default 20. Range 1–100.query— string — Optional Bazaar search substring. Example: 'weather' or 'image'. Omit to list recent paid HTTP services.agent_id— string — Optional agent identity for quota accounting. Example: 'agent-42'. Omit to use the anonymous free-tier id.max_price_usdc— number — Optional USDC price ceiling. Example: 0.05. Omit to include any listed price.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
x402.proberead-onlyProbe a URL for HTTP 402 PAYMENT-REQUIRED terms using the x402 client SDK. Use before x402.pay_and_fetch to inspect price, network, and payTo without spending.
Parameters:
url(required) — string — Absolute HTTP URL to probe. Example: 'https://x402-mcp.onrender.com/us/mn/property-check?address=1700%20Penn%20Ave%20N'.method— string — HTTP method for the probe. Default GET. Example: 'GET' or 'POST'.headers— object — Optional extra request headers as a string map. Example: {"Accept": "application/json"}. Omit if none.agent_id— string — Optional agent identity for quota accounting. Omit for the anonymous free-tier id.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
x402.pay_and_fetchPay USDC via x402 and fetch a protected HTTP resource in one call. Requires EVM_PRIVATE_KEY on this host; otherwise use x402.probe for a no-spend 402.
Parameters:
url(required) — string — Absolute paid HTTP URL to fetch after settling USDC.body— string — Optional raw request body for POST/PUT. Omit for GET.method— string — HTTP method for the paid request. Default GET.headers— object — Optional extra request headers as a string map. Omit if none.agent_id— string — Optional agent identity for quota accounting.max_price_usdc— number — Optional spend ceiling in USDC. Example: 0.10. Calls above this are blocked.preferred_network— string — Preferred CAIP-2 network. Example: 'eip155:8453' (Base mainnet). Omit to use the server default. Call x402.networks to list options.
Hints: read-only no · destructive no · idempotent no · open-world yes
x402.build_sellerBuild seller-side x402 payment requirements for your own HTTP resource. Pass resource_url plus discovery_* fields to catalog the endpoint in Bazaar.
Parameters:
price— string — List price string. Default '$0.01'. Example: '$0.05'.pay_to— string — 0x recipient for USDC. Example: '0x67ff…'. Omit to use X402_PAY_TO_ADDRESS.scheme— string — x402 payment scheme. Default 'exact'.network— string — CAIP-2 settlement network. Default eip155:84532 (Base Sepolia). Mainnet: eip155:8453.agent_id— string — Optional agent identity for quota accounting.mime_type— string — Resource MIME type. Default application/json.description— string — Human-readable description embedded in PAYMENT-REQUIRED.discoverable— boolean — If true, embed the Bazaar discovery extension. Omit to use server default.resource_url— string — Public URL of the paid resource. When set with discovery_* fields, Bazaar catalogs the endpoint after a settled payment.discovery_method— string — HTTP method advertised to Bazaar. Default GET.discovery_input_example— object — Optional example input object for Bazaar. Omit if none.discovery_output_example— object — Optional example output object for Bazaar. Omit if none.
Hints: read-only no · destructive no · idempotent yes · open-world yes
x402.verifyVerify an x402 PAYMENT-SIGNATURE against PAYMENT-REQUIRED terms via the facilitator. Call after a buyer presents a signature and before releasing paid content.
Parameters:
payment_signature(required) — string — PAYMENT-SIGNATURE header value from the buyer.payment_required(required) — string — PAYMENT-REQUIRED JSON/header the signature is meant to satisfy.agent_id— string — Optional agent identity for quota accounting.
Hints: read-only no · destructive no · idempotent no · open-world yes
x402.networksread-onlyList supported settlement networks, facilitators, and x402 v2 header names. Call when choosing a preferred_network for x402.pay_and_fetch or x402.build_seller.
Parameters:
agent_id— string — Optional agent identity for quota accounting.
Hints: read-only yes · destructive no · idempotent yes · open-world no
commerce.pro_requirementsread-onlyBuild x402 payment requirements to purchase the Pro quota tier. Next: pay those terms, then commerce.activate_pro with the signature.
Parameters:
agent_id— string — Optional agent identity the Pro grant will attach to.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
commerce.activate_proVerify a Pro-tier x402 payment and unlock Pro quota limits for the agent. MCP-native: call without payment to receive x402 requirements in the tool result, then retry with _meta['x402/payment'] (@x402/mcp client). Legacy: pass PAYMENT-SIGNATURE + PAYMENT-REQUIRED after commerce.pro_requirements.
Parameters:
agent_id— string — Agent identity to grant Pro quota. Must match the requirements call.payment_required— string — Legacy PAYMENT-REQUIRED from commerce.pro_requirements. Ignored when using MCP _meta payment.payment_signature— string — Legacy HTTP-style PAYMENT-SIGNATURE. Omit for MCP x402/payment transport.
Hints: read-only no · destructive no · idempotent no · open-world yes
commerce.credits_requirementsread-onlyBuild x402 payment requirements to buy a pack of per-use MCP tool credits. Next: pay those terms, then commerce.purchase_credits with the signature.
Parameters:
credits— integer — Credit pack size to buy. Example: 100. Omit to use the server default pack.agent_id— string — Optional agent identity the credits will attach to.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
commerce.purchase_creditsVerify an x402 payment and add per-use tool credits to the agent. MCP-native: call without payment for x402 requirements, then retry with _meta['x402/payment']. Legacy: PAYMENT-SIGNATURE + PAYMENT-REQUIRED after commerce.credits_requirements.
Parameters:
credits— integer — Credit pack size that was purchased. Must match the requirements call.agent_id— string — Agent identity to credit.payment_required— string — Legacy PAYMENT-REQUIRED from commerce.credits_requirements.payment_signature— string — Legacy PAYMENT-SIGNATURE. Omit for MCP x402/payment transport.
Hints: read-only no · destructive no · idempotent no · open-world yes
swarm.researchRun the swarm agency: compose a research product from free inputs and list it for resale. Pass allow_paid_inputs=true only when buying upstream x402 services is intended.
Parameters:
topic(required) — string — Research topic to compose. Example: 'Base mainnet gas window'.agent_id— string — Seller agent identity that will own the listing.max_price_usdc— number — Optional USDC ceiling for any paid upstream inputs.allow_paid_inputs— boolean — If true, buy upstream x402 services before composing. Default false (free inputs only, unsold inventory costs nothing).
Hints: read-only no · destructive no · idempotent no · open-world yes
swarm.settleVerify and settle a buyer's x402 payment for a listed composite product and record revenue. Call with product_id plus PAYMENT-SIGNATURE after the buyer pays.
Parameters:
product_id(required) — string — Listed composite product id. Example: the hex id from swarm.research.payment_signature(required) — string — PAYMENT-SIGNATURE from the buyer.payment_required(required) — string — PAYMENT-REQUIRED terms for this product.agent_id— string — Seller agent identity recording the sale.
Hints: read-only no · destructive no · idempotent no · open-world yes
swarm.revenueread-onlyGet swarm composite economics: spend, composite sales, LTV:CAC, margins, per-source scores. total_revenue_usdc is swarm listings only; storefront.revenue_usdc is the full settled ledger. Call after swarm.research or swarm.settle to inspect realized economics.
Parameters:
agent_id— string — Optional agent identity for quota accounting.
Hints: read-only yes · destructive no · idempotent yes · open-world no
pulse.baseread-onlyGet live Base Network Pulse: base fee, EIP-1559 projection, utilization, USD settlement cost, verdict. Call before settling on Base when you need a settle-now vs hold recommendation.
Parameters:
depth— integer — Blocks to sample. Example: 12. Omit to use the server default.agent_id— string — Optional agent identity for quota accounting.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
ops.metricsread-onlyGet host OS telemetry: CPU, memory, swap, disk, network, and an ok/warn/critical health verdict. Call to diagnose this MCP host; set include_processes=true for top memory processes.
Parameters:
agent_id— string — Optional agent identity for quota accounting.include_processes— boolean — If true, include top processes by memory. Default false.
Hints: read-only yes · destructive no · idempotent yes · open-world no
city.listread-onlyList US City Open-Data Compliance Network cities with paid_url, sample_url, and price. Call first, then city.sample, then city.check for the paid address lookup.
Parameters:
agent_id— string — Optional agent identity for quota accounting.
Hints: read-only yes · destructive no · idempotent yes · open-world no
city.sampleread-onlyGet a free fixed-address property compliance sample for one US city code. Use before city.check to validate city_code and response shape without paying.
Parameters:
city_code(required) — string — City code from city.list. Examples: 'mn', 'sea', 'nyc', 'chi'.agent_id— string — Optional agent identity for quota accounting.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
city.checkPaid US city property compliance check (MCP seller x402). Unpaid calls return PaymentRequired with accepts; pay via _meta['x402/payment']. Prefer city.sample first. Price: $0.01 per call (x402, USDC on Base/Solana/Arbitrum).
Parameters:
city_code(required) — string — City code from city.list. Example: 'mn'.address(required) — string — Street address to check. Example: '1700 Penn Ave N' or '1 Centre St'.agent_id— string — Optional agent identity for quota accounting.max_price_usdc— number — Optional USDC spend ceiling. Example: 0.05.preferred_network— string — Preferred CAIP-2 network. Example: 'eip155:8453'.
Hints: read-only no · destructive no · idempotent no · open-world yes
a2a.resolve_cardread-onlyDiscover and inspect an external Agent-to-Agent (A2A) node by domain or URL. Fetches .well-known/agent-card.json, validates protocol compatibility, checks for a2a-x402 and AP2 payment extensions, and extracts callable skills with pricing.
Parameters:
target(required) — string — Host domain or full URL of the agent (e.g. 'agent.example.com' or 'https://agent.example.com/.well-known/agent-card.json')agent_id— string — Optional calling agent identifier for quota tracking.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.