Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Xpay

by xona-labsversion 0.2.38i★ –iRuns on your computer
Registry nameio.github.xona-labs/xpay

Install

Overview

Description from the maker (original English)

Xona Wallet: agent wallet for AI agents. x402 payments, AgenC hires, 20k+ services

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: XPAY_PASSPHRASE, XPAY_SOLANA_SECRET, XPAY_EVM_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: XPAY_PROFILE, XPAY_PASSPHRASE, XPAY_HOME, XPAY_NO_AUTO_WALLET, XPAY_SOLANA_SECRET, XPAY_EVM_KEY, XPAY_EVM_NETWORK

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "xpay": {
      "command": "npx",
      "args": [
        "-y",
        "@xona-labs/xpay",
        "mcp"
      ],
      "env": {
        "XPAY_PROFILE": "your-value",
        "XPAY_PASSPHRASE": "your-value",
        "XPAY_HOME": "your-value",
        "XPAY_NO_AUTO_WALLET": "your-value",
        "XPAY_SOLANA_SECRET": "your-value",
        "XPAY_EVM_KEY": "your-value",
        "XPAY_EVM_NETWORK": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add xpay --env XPAY_PROFILE=your-value --env XPAY_PASSPHRASE=your-value --env XPAY_HOME=your-value --env XPAY_NO_AUTO_WALLET=your-value --env XPAY_SOLANA_SECRET=your-value --env XPAY_EVM_KEY=your-value --env XPAY_EVM_NETWORK=your-value -- npx -y @xona-labs/xpay mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "xpay": {
      "command": "npx",
      "args": [
        "-y",
        "@xona-labs/xpay",
        "mcp"
      ],
      "env": {
        "XPAY_PROFILE": "your-value",
        "XPAY_PASSPHRASE": "your-value",
        "XPAY_HOME": "your-value",
        "XPAY_NO_AUTO_WALLET": "your-value",
        "XPAY_SOLANA_SECRET": "your-value",
        "XPAY_EVM_KEY": "your-value",
        "XPAY_EVM_NETWORK": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "xpay": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@xona-labs/xpay",
        "mcp"
      ],
      "env": {
        "XPAY_PROFILE": "your-value",
        "XPAY_PASSPHRASE": "your-value",
        "XPAY_HOME": "your-value",
        "XPAY_NO_AUTO_WALLET": "your-value",
        "XPAY_SOLANA_SECRET": "your-value",
        "XPAY_EVM_KEY": "your-value",
        "XPAY_EVM_NETWORK": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • XPAY_PROFILE env
    Wallet profile to load or create (default: active profile, else "default")
  • XPAY_PASSPHRASE secret env
    Encrypts the auto-generated wallet at rest; also unlocks an existing encrypted profile
  • XPAY_HOME env
    Override the ~/.xpay/ data directory
  • XPAY_NO_AUTO_WALLET env
    Set to error instead of auto-generating a wallet when none is configured
  • XPAY_SOLANA_SECRET secret env
    Use an existing Solana secret key (base58) instead of the generated wallet
  • XPAY_EVM_KEY secret env
    Use an existing EVM private key instead of the generated wallet
  • XPAY_EVM_NETWORK env
    EVM network for XPAY_EVM_KEY (e.g. base, stable, base-sepolia)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account xona-labs, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18513 servers in this category
  • Published to the registry more recently than 58% of the other 18513 servers in this category
  • Basic checks equal to or better than 100% of the other 18513 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Xpay safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: XPAY_PASSPHRASE, XPAY_SOLANA_SECRET, XPAY_EVM_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.2.38) reached the registry 34 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Cape Winelands Visit Planner

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

by formulahendryEarly↓ 66/wk★ 440Updated 14 months ago

Runs on your computer

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

by desktop-commanderGrowing★ 211Updated 3 days ago

Runs in the cloud✓ desktopcommander.app

Cape Winelands Visit Planner

Cape Winelands wine farm finder and day-route planner

by aiagenttools.co.zaEarlyUpdated today

Runs in the cloud✓ aiagenttools.co.za

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Xona Wallet

Ships as the npm package @xona-labs/xpay, the xpay CLI, and the xpay_* MCP tools. The package and command names are unchanged.

Agentic-commerce wallet. Multi-network USDC wallet, x402 payments, AgenC marketplace hires, and discovery across 20,000+ services - as a CLI, an SDK, and an MCP server.

npm install -g @xona-labs/xpay

xpay init # creates Solana + EVM keys, encrypted xpay discover "research API" # 21k x402 catalog + AgenC agent listings, ranked xpay pay https://api.example.com/x402 # x402 one-liner xpay agenc hire # hire an on-chain agent (SOL escrow) xpay token find BONK # find any Solana token by ticker or mint xpay swap 0.5 SOL BONK # swap in your own wallet via Jupiter xpay transfer 5 USDC 7G73PL...gC # direct USDC transfer xpay balance # unified across networks xpay report # daily / weekly / monthly report via OrbitX402

// SDK - same primitives, programmatic

import { loadProfile, createXPay } from "@xona-labs/xpay"; const xpay = createXPay({ profile: await loadProfile({ passphrase }) }); const result = await xpay.do("translate this PDF to Japanese", { body: { file } });

Xona Wallet is the wallet and rail layer for agentic commerce. It hides x402, USDC, RPC, and multi-network routing behind a flat surface so agent builders (Claude / Codex / OpenAI / Gemini / your own) can find and pay for services without writing payment plumbing.


Install

npm install -g @xona-labs/xpay      # CLI + MCP server, system-wide

npm install @xona-labs/xpay # programmatic SDK in a project

Quickstart

xpay init

✔ Profile "default" created at /Users/you/.xpay/default

Solana 7RB7frdxPc9vZtuyq6YfNoWTJcDZsE2AcXXV6qkpf5ph

EVM 0xA5D93CDB2bD16b2d1d3d19D45dad3FaBb1023dfa

⚠ RECOVERY PHRASE - write this down NOW. We cannot recover it for you.

1. depend 2. guess 3. mercy 4. online

... (24 words)

Fund the addresses with a few dollars of USDC on Solana mainnet, Base, or both. Then:

xpay balance

xpay discover "image generation" xpay pay https://orbisapi.com/proxy/image-alt-text-generator-api-1c9472

CLI commands

CommandWhat it does
xpay init [name]Create a profile (Solana + EVM keys from one BIP-39 seed). --import to restore from a phrase, --no-encrypt for dev wallets, --workspace to store locally.
`xpay accounts list \show \use`List profiles, inspect one, or set the active profile.
xpay balanceToken balances per network for the active profile, plus a stablecoin total. Covers Solana, Base and other EVM chains, Robinhood Chain, and Stable. --network.
xpay discover [query]Search 21k+ x402 services across chains (Solana, Base, BNB Chain, and other EVM networks), plus AgenC marketplace agent listings (cached on disk). Solana merchants show their ERC-8004 trust. --network, --limit, --min-trust, --no-trust, --json.
xpay trust ERC-8004 agent identity + reputation of a Solana merchant wallet. Read-only, no wallet. --json.
xpay pay Pay an x402 endpoint. Works on catalog URLs and any URL that returns 402. --max-usd, --body, -y.
xpay agenc hire Hire an AgenC marketplace listing - escrows its SOL price on-chain; the provider works asynchronously. --max-usd, --review-window, -y.
xpay agenc status Check a hire's progress (read-only, no wallet). --json.
xpay token find Find a Solana token by ticker, name, or mint address (Jupiter) - price, mcap, liquidity, verification. Read-only. --limit, --json.
xpay token rwa [query]List tradable RWA tokens on Solana: tokenized stocks/ETFs (xStocks, Ondo, Remora) + USDY. Read-only. --category, --limit, --json.
`xpay orders add \list \run`Standing stock orders: recurring buys and conditional one-shots on tokenized stocks, executed by xpay orders run from cron, a scheduler, or an agent. Also approve, cancel, pause, resume.
xpay swap Swap tokens in your wallet via Jupiter (Solana only), subject to the guardrail. --slippage-bps, -y.
xpay trade Trade tokens on Robinhood Chain via Uniswap V3 / NOXA Fun (ETH↔token), subject to the guardrail. --slippage-bps, --quote-only, -y.
xpay trendingList tokens trending on Robinhood Chain (read-only, no wallet). --new, --limit.
`xpay x user \posts `Realtime X (Twitter) account data - profile (~$0.01) or recent posts (~$0.06), paid via x402 at cost. No X account needed.
xpay zauth reposcan Repository security scan via partner zauth - zauth score + provenance/vulnerability report (~$0.05 USDC via x402). --json, -y.
xpay zauth status Check a running zauth scan (free, read-only, no wallet). --json.
xpay shop search " "Product discovery across Google Shopping, Amazon, and eBay from one query (~$0.02 USDC via x402, less for fewer marketplaces). --marketplaces, --price-min/max, --condition, --sort, --json, -y.
xpay shop quote " "Free preflight: exact search price + how the query parses (no wallet). --json.
xpay transfer USDC Direct stablecoin transfer (USDC, or USDT0 on Stable), subject to the guardrail. --network, -y.
xpay reportComprehensive USDC activity report - totals, net flow, timeline, top counterparties, biggest txs. `--period daily\weekly\monthly, --network, --json`.
`xpay guardrail show \set \clear`Inspect or edit spending caps and allowed hosts.
`xpay biometric status \enable \disable`Touch ID unlock for the wallet passphrase (macOS).
`xpay sana link \unlink \status`Link a Sana API key to activate the agent card (optional).
xpay mcpStart the MCP server on stdio (for Claude Desktop / Cursor / Codex).

All commands run from a single profile. Switch with xpay accounts use .

SDK

The CLI is a thin shell over the SDK - every command has a direct programmatic equivalent.

import {

createXPay, initProfile, loadProfile, setProfileGuardrail, } from "@xona-labs/xpay";

// One-time setup const created = await initProfile({ name: "default", passphrase: process.env.XPAY_PASSPHRASE!, }); console.log(created.addresses); // { solana, evm } console.log(created.mnemonic); // back this up; not persisted in plaintext

// Configure spending caps setProfileGuardrail("default", { maxPerTx: 0.5, maxPerDay: 5, allowedHosts: ["api.payai.network", "*.xona-agent.com"], });

// Use const profile = await loadProfile({ name: "default", passphrase: process.env.XPAY_PASSPHRASE }); const xpay = createXPay({ profile });

await xpay.discover({ query: "weather" }); await xpay.useByUrl("https://..."); await xpay.do("translate this PDF to Japanese"); await xpay.transfer({ amount: 1, to: "7G73PL...", token: "USDC" }); await xpay.report({ period: "weekly" }); // via OrbitX402 - no RPC calls from your code await xpay.wallet.balance("solana");

Agent runtimes

Xona Wallet ships tool definitions for the three major LLM SDKs. Same handlers, different schema shapes.

import Anthropic from "@anthropic-ai/sdk";

import { createXPay, forClaude, loadProfile } from "@xona-labs/xpay";

const xpay = createXPay({ profile: await loadProfile({ passphrase }) }); const { tools, handlers } = forClaude(xpay);

const response = await new Anthropic().messages.create({ model: "claude-sonnet-4-5", tools, messages: [{ role: "user", content: "find a cheap weather API and call it" }], });

for (const block of response.content) { if (block.type === "tool_use") { const result = await handlers[block.name]!(block.input as Record ); // ... feed result back to Claude } }

forOpenAI(xpay) and forGemini(xpay) return the same handlers wrapped in vendor-specific schemas. See examples/claude-agent.ts for the full tool-use loop.

MCP server (Claude Desktop / Cursor / Codex)

Xona Wallet is listed in the official MCP Registry as `io.github.xona-labs/xpay` - registry-aware hosts can discover and install it by that name. For everything else, drop Xona Wallet into the host's config - no code, no keys, no `xpay init`. On first boot the agent is given its own wallet automatically:

// ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "xpay": { "command": "npx", "args": ["-y", "@xona-labs/xpay", "mcp"] } } }

That's the whole setup. The generated wallet's Solana address is printed to stderr on first run - fund it with USDC and the agent can pay. It persists under ~/.xpay and is reused on every later boot, so the address is stable.

The host sees the core tools: xpay_discover, xpay_use, xpay_do, xpay_transfer, xpay_balance, xpay_report, xpay_guardrail, xpay_token_find, xpay_swap, xpay_trending_tokens, xpay_trade_quote, xpay_trade, xpay_x_user, xpay_x_posts, xpay_zauth_reposcan, xpay_zauth_scan_status, xpay_shop_search, xpay_shop_quote, xpay_shop_lens, xpay_shop_lens_quote, xpay_rwa_find, xpay_trust_check, xpay_order_create, xpay_orders_list, xpay_order_cancel, xpay_orders_run, xpay_agenc_status, plus xpay_bento_status / xpay_bento_enable / xpay_bento_disable to manage the intent firewall. If you've linked a Sana key (see below), eight additional sana_* tools are also registered automatically.

Bring your own wallet instead - the wallet source order is *existing profile → key env → auto-generate*, so any of these overrides the generated wallet:

"env": {

"XPAY_SOLANA_SECRET": " ", // use a wallet you already hold "XPAY_PASSPHRASE": " ", // or unlock/encrypt a profile "XPAY_NO_AUTO_WALLET": "1" // or disable auto-generation entirely }

On macOS, with biometric unlock enabled on a profile, the server shows one Touch ID dialog at startup instead of keeping the passphrase in host config.

See [SKILL.md](SKILL.md) for a framework-agnostic guide to driving these tools from any agent.

Profiles

Each profile is a directory under ~/.xpay/ with:

~/.xpay/

├── default/ (or any name) │ ├── wallet.json BIP-39 seed, AES-256-GCM encrypted by default │ └── config.json networks, guardrail, RPC overrides, link └── cache/ disk cache of catalogs (auto-managed)

Override with XPAY_HOME=/some/path or xpay init --workspace for project-local profiles.

Biometric unlock (macOS)

Only the beginning is shown; read the rest in the repo

Ask PopNx