nano-pay
The nano-pay server provides a self-custodied Nano (XNO) wallet and x402 payment client, enabling AI agents to make feeless micropayments to paid API endpoints. It offers the following capabilities:
wallet_status: Check wallet address, XNO balance, and pending incoming amounts.x402_quote: Inspect payment details (price, destination, offer menu) from an x402 endpoint without paying.x402_compare: Compare live prices for an API call across multiple payment rails (Base/Solana USDC, Lightning, XNO, etc.) to find the cheapest option.x402_pay: Automatically execute the full x402 payment handshake using Nano (feeless, sub-second settlement) with a configurable spend cap (default 0.05 XNO). Returns the API response and receipt.faucet_claim: Claim free starter XNO from a Feeless402 faucet by solving a proof-of-work challenge (~1 minute of CPU) when the wallet is empty.topup_quote: Obtain a quote to swap other assets (e.g., USDC-BASE) into XNO for topping up the wallet (quote only; execution requires a NanSwap API key).
Self-custodied Nano (XNO) wallet and x402 payment client/server, enabling agents to send, receive, and earn Nano micropayments on-ledger.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nano-payPay for a chat completion on nano-gpt.com using XNO"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
nano-pay · Feeless402
Self-custodied Nano (XNO) wallet + x402 payment client and merchant
server, built for AI agents. Client spends; nano-pay serve earns — paid
endpoints, on-ledger verification/settlement (no facilitator), a starter
faucet, and the railHint x402 extension that teaches visiting agents how
to onboard (see SPEC-railhint.md). Site: site/index.html + site/llms.txt.
The pitch, in one number: the same $5 buys 5,000 API calls paid as per-call USDC-on-Base x402 payments (merchants floor prices at 0.001 USDC), or hundreds of thousands of calls paid in Nano at true metered prices ($0.0000096/call observed live at nano-gpt.com, confirmed on-ledger). Top up once, micropay forever.
Install
pip install feeless402 # needs Python 3.10+; pulls nanopy + requests
# (from a checkout: pip install -e .)
nano-pay init # creates ~/.nano-pay/wallet.json (chmod 600)Related MCP server: PipRail
Agent flow
nano-pay topup 5 # quote: $5 USDC-BASE → ~12.3 XNO (NanSwap)
nano-pay topup 5 --execute # create order (set NANSWAP_API_KEY)
# → send USDC to the returned deposit address; XNO arrives in 30-60s
nano-pay receive # pocket incoming XNO
nano-pay quote https://nano-gpt.com/api/v1/chat/completions \
--json '{"model":"gpt-5-nano","messages":[{"role":"user","content":"hi"}]}'
nano-pay pay https://nano-gpt.com/api/v1/chat/completions \
--json '{"model":"gpt-5-nano","messages":[{"role":"user","content":"hi"}]}'pay handles the whole x402 handshake: request → parse the 402 quote
(both the x402nano/PAYMENT-REQUIRED v2 dialect and the NanoGPT/accepts
v1 dialect) → price-cap check → sign a send state block locally → retry
with PAYMENT-SIGNATURE + X-PAYMENT headers. The server settles the
block via its facilitator; nothing is broadcast unless the server accepts.
Design notes
Self-custody: seed never leaves
~/.nano-pay/wallet.json(0600).No node required: public RPC failover (rpc.nano.to, somenano, rainstorm.city, nanoslo); all signing and PoW happen locally (nanopy C extension). RPC
work_generateis tried first, local PoW is the fallback (~25s). The CLI pre-caches work for your next block after it has printed the result of the current one, so steady-state payments are instant. Library callers opt in:send(),receive_all()andrequest_with_payment()takeprework=and default to off, because pre-caching blocks for minutes and must never sit on a request path.Safety rails: per-payment price cap (
--max-xno, default 0.05);quotecommand inspects any endpoint's price without paying; balance is always re-synced from the network, never trusted locally.Top-ups without custody:
topupquotes/creates swaps directly with NanSwap's API (1,400+ input assets, ~$0.02 minimum). This tool never holds or routes funds.
Fork-hazard note (x402 payments)
An x402 payment signs a block the server broadcasts. If the server errors after receiving the block, it may still settle it late. The wallet re-syncs its frontier from the network before every operation, so a late settlement is picked up naturally; a competing block signed in the meantime simply makes one of the two invalid (funds are never at risk, but don't fire concurrent payments from one wallet).
Status
Beta (v0.2.3). Proven on mainnet with real funds: live paid calls to NanoGPT ($0.0000096/call, confirmed on-ledger), full merchant loop (verify → settle → confirm, no facilitator), PoW-gated faucet claims, and a complete stranger-agent lifecycle (fresh wallet → PoW claim → paid API call → confirmed) in under 3 minutes. 13-test suite covers the payment path offline. Not audited — keep only working capital in it.
Security notes (read before holding real funds)
Self-custody: the seed lives only in
~/.nano-pay/*.json(0600). No tool or log path ever prints it. Back it up offline.Working capital only: this is beta wallet software. Keep a few dollars in it, not your savings.
Spend caps:
payrefuses quotes above--max-xno(default 0.05). MCPx402_payenforces the same cap parameter.railHint is advisory: hints from remote servers are untrusted input. This client never executes remote bootstrap strings; it only acts on structured offers that pass its own checks, and
acceptsalways binds, never the hint.Merchant fork guard: servers cache accepted frontiers and reject duplicate-frontier blocks; payer balance/frontier/signature are verified against the live ledger before settlement.
Not audited. MIT — no warranty.
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceL402 + x402 client MCP. AI agents discover, pay for, and consume any payment-gated API autonomously. Supports Lightning (NWC), Cashu ecash, stablecoins, and human-in-the-loop payments.371MIT
- AlicenseNot gradedqualityAmaintenanceA budget-bound x402 payment wallet for AI agents: it autonomously pays HTTP 402 payment-gated URLs across every major chain (EVM, Solana, and many non-EVM families). Self-custodial and backendless, your key, your RPC, with spend caps enforced before any on-chain send.7MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to make micropayments using USDC on Solana via the x402 protocol, supporting payment requests, on-chain verification, and revenue tracking.MIT

@coinbase/payments-mcpofficial
AlicenseNot gradedqualityDmaintenanceCombines wallets, onramps, and payments via x402 to enable AI agents to autonomously discover and pay for services without API keys or complex setup.6957Apache 2.0
Related MCP Connectors
Pay-per-use weather, environment, finance, and on-chain intelligence tools for AI agents via x402.
54 AI agent tools: OSINT, intel feeds, DeFi, crypto, weather, DNS, proxies. x402 micropayments.
Identity certificates, public registry, and wishing well for AI agents — x402 micropayments on Base
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Feeless402/feeless402'
If you have feedback or need assistance with the MCP directory API, please join our Discord server