xenarch-ai avatar

Xenarch Mcp

xenarch-ai/xenarch-mcp

Turns Claude into a paying API consumer using USDC on Base L2. Exposes three tools: xenarch_check_gate to inspect if a URL requires payment, xenarch_pay to sign an EIP-3009 transfer and fetch gated content, and xenarch_get_history to review past transactions. The agent wallet only needs USDC, never ETH. Payments settle on-chain directly to the publisher with zero platform fees. Implements the x402 spec for HTTP 402 responses. Reach for this when you want Claude to autonomously pay for paywalled APIs or content without API keys, subscriptions, or manual approval flows. Works with any MCP client including Cursor, LangChain, and CrewAI.

GitHub stars
1
tools
29
auth
Secret needed
transport
STDIO, HTTP
env vars
6
last updated
Jul 8, 2026

Tools

29 tools

Public tool metadata for what this MCP can expose to an agent.

xenarch_check_gateCheck if a URL or domain has an x402 payment gate. Returns gate status, accepted payment requirements (price, asset, network), and the seller wallet. Use this before paying to confirm pricing, when a URL returns HTTP 402 Payment Required, or when a user asks whether content is...1 params

Check if a URL or domain has an x402 payment gate. Returns gate status, accepted payment requirements (price, asset, network), and the seller wallet. Use this before paying to confirm pricing, when a URL returns HTTP 402 Payment Required, or when a user asks whether content is...

Parameters* required
urlstring
The URL or domain to check for an x402 payment gate. Accepts a full URL (https://example.com/article) or bare domain (example.com). Returns pricing in USD and payment requirements if gated.
xenarch_payPay an x402-gated URL with USDC on Base L2 and return the gated content. Signs an EIP-3009 transferWithAuthorization, settles on-chain, then re-fetches the resource with proof of payment. Returns the on-chain tx_hash, seller wallet, and the response body. Settles directly to t...1 params

Pay an x402-gated URL with USDC on Base L2 and return the gated content. Signs an EIP-3009 transferWithAuthorization, settles on-chain, then re-fetches the resource with proof of payment. Returns the on-chain tx_hash, seller wallet, and the response body. Settles directly to t...

Parameters* required
urlstring
The URL or domain to pay for. Must have an active x402 payment gate. Payment settles in USDC on Base L2, agent wallet to seller wallet direct. The agent wallet only ever holds USDC; no ETH or other...
xenarch_get_historyList past USDC micropayments made by this wallet through Xenarch. Returns transaction hashes, URLs, domains, amounts in USD, timestamps, total spend, and payment count. Optionally filter by domain. Use this to audit spending, check if you already paid for a resource, or track...2 params

List past USDC micropayments made by this wallet through Xenarch. Returns transaction hashes, URLs, domains, amounts in USD, timestamps, total spend, and payment count. Optionally filter by domain. Use this to audit spending, check if you already paid for a resource, or track...

Parameters* required
domainstring
Filter payment history by domain (e.g. 'example.com'). Omit to return all payments across all domains.
limitinteger
Maximum number of payment records to return (1-100, default 10). Use higher values to see full spending history.default: 10
xenarch_agent_loginSign in to the agent control plane using your browser wallet — no CLI needed. First call returns a link; open it, sign in with your wallet on the dashboard, and approve. Call this tool again to finish — the 7-day session is then used by every other xenarch_agent_* tool. Use th...

Sign in to the agent control plane using your browser wallet — no CLI needed. First call returns a link; open it, sign in with your wallet on the dashboard, and approve. Call this tool again to finish — the 7-day session is then used by every other xenarch_agent_* tool. Use th...

No parameter schema in public metadata yet.

xenarch_agent_statusShow the operator's agent profile (name, paused state) and spend summary for a period. Read-only. Needs a SIWE session from `xenarch agent login`.1 params

Show the operator's agent profile (name, paused state) and spend summary for a period. Read-only. Needs a SIWE session from `xenarch agent login`.

Parameters* required
periodstring
Spend-summary window.one of 24h · 7d · 30d · alldefault: 24h
xenarch_agent_get_capsRead the agent's spending caps (per-transaction, daily, monthly) and remaining headroom. Read-only.

Read the agent's spending caps (per-transaction, daily, monthly) and remaining headroom. Read-only.

No parameter schema in public metadata yet.

xenarch_agent_set_capsSet spending caps. Pass per_tx/daily/monthly in USD ('none' disables an axis); omit an axis to leave it unchanged. RAISING or REMOVING a cap requires confirm: true (returns needs_confirmation otherwise). Tightening is free.4 params

Set spending caps. Pass per_tx/daily/monthly in USD ('none' disables an axis); omit an axis to leave it unchanged. RAISING or REMOVING a cap requires confirm: true (returns needs_confirmation otherwise). Tightening is free.

Parameters* required
confirmboolean
Required true to RAISE or REMOVE a cap (a loosening change).default: false
dailystring
Daily cap in USD, or 'none' to disable. Omit to leave unchanged.
monthlystring
Monthly cap in USD, or 'none' to disable. Omit to leave unchanged.
per_txstring
Per-transaction cap in USD, or 'none' to disable. Omit to leave unchanged.
xenarch_agent_reset_day_capReset today's daily-spend counter back to the full daily cap (recovery from accidental mid-day exhaustion).

Reset today's daily-spend counter back to the full daily cap (recovery from accidental mid-day exhaustion).

No parameter schema in public metadata yet.

xenarch_agent_get_scopeRead the agent's scope: default posture (allow/deny) and the allow/deny rule list. Read-only.

Read the agent's scope: default posture (allow/deny) and the allow/deny rule list. Read-only.

No parameter schema in public metadata yet.

xenarch_agent_add_scope_ruleAdd an allow/deny scope rule. A 'deny' rule tightens (free); an 'allow' rule loosens and requires confirm: true.4 params

Add an allow/deny scope rule. A 'deny' rule tightens (free); an 'allow' rule loosens and requires confirm: true.

Parameters* required
confirmboolean
Required true for an 'allow' rule (loosens scope).default: false
labelstring
Optional human label for the rule.
modestring
'deny' blocks (tightens); 'allow' permits (loosens — needs confirm).one of allow · deny
patternstring
URL/domain glob the rule matches, e.g. 'api.example.com/*'.
xenarch_agent_remove_scope_ruleRemove a scope rule by id (full UUID or unambiguous prefix). Removing a DENY rule loosens scope and requires confirm: true.2 params

Remove a scope rule by id (full UUID or unambiguous prefix). Removing a DENY rule loosens scope and requires confirm: true.

Parameters* required
confirmboolean
Required true when removing a DENY rule (loosens scope).default: false
idstring
Scope rule id (full UUID or unambiguous prefix from get_scope).
xenarch_agent_set_default_scopeSet the default scope posture for unmatched URLs. 'deny' tightens (free); 'allow' loosens and requires confirm: true.2 params

Set the default scope posture for unmatched URLs. 'deny' tightens (free); 'allow' loosens and requires confirm: true.

Parameters* required
confirmboolean
Required true to switch the default to 'allow'.default: false
modestring
Default posture for unmatched URLs. 'allow' loosens — needs confirm.one of allow · deny
xenarch_agent_pauseKill switch: pause the agent so all of its payments are blocked immediately. Tightening, so no confirm needed.

Kill switch: pause the agent so all of its payments are blocked immediately. Tightening, so no confirm needed.

No parameter schema in public metadata yet.

xenarch_agent_resumeLift the pause so the agent can spend again (subject to caps + scope). Requires confirm: true.1 params

Lift the pause so the agent can spend again (subject to caps + scope). Requires confirm: true.

Parameters* required
confirmboolean
Required true: resuming re-enables the agent's spending.default: false
xenarch_agent_list_keysList the agent's xa_live_ API keys (id, label, last-used, revoked state). Never returns plaintext. Read-only.

List the agent's xa_live_ API keys (id, label, last-used, revoked state). Never returns plaintext. Read-only.

No parameter schema in public metadata yet.

xenarch_agent_create_keyIssue a new xa_live_ API key (plaintext returned once). Issues a live spending credential — requires confirm: true.2 params

Issue a new xa_live_ API key (plaintext returned once). Issues a live spending credential — requires confirm: true.

Parameters* required
confirmboolean
Required true: issues a live xa_live_ spending credential.default: false
labelstring
Optional label for the new key.
xenarch_agent_rotate_keyRotate an API key by id (full UUID or prefix) — invalidates the old secret, returns a new one once. Requires confirm: true.2 params

Rotate an API key by id (full UUID or prefix) — invalidates the old secret, returns a new one once. Requires confirm: true.

Parameters* required
confirmboolean
Required true: invalidates the key's current secret.default: false
key_idstring
Key id (full UUID or unambiguous prefix).
xenarch_agent_revoke_keyPermanently revoke an API key by id (full UUID or prefix). Requires confirm: true.2 params

Permanently revoke an API key by id (full UUID or prefix). Requires confirm: true.

Parameters* required
confirmboolean
Required true: permanently disables the key.default: false
key_idstring
Key id (full UUID or unambiguous prefix).
xenarch_agent_get_receiptsList the agent's payment receipts with filters (period, status, source, domain) and pagination. Read-only.6 params

List the agent's payment receipts with filters (period, status, source, domain) and pagination. Read-only.

Parameters* required
domainstring
Filter by domain.
pageinteger
Page number.default: 1
per_pageinteger
Rows per page (max 100).default: 25
periodstring
Time window.one of 24h · 7d · 30d · alldefault: all
sourcestring
Filter by source channel.one of cli · mcp · sdk · custom
statusstring
Filter by status.one of paid · pending · failed
xenarch_list_linksList the merchant's pay-links (newest first), with cursor pagination. Read-only. Needs a SIWE session from `xenarch agent login`.2 params

List the merchant's pay-links (newest first), with cursor pagination. Read-only. Needs a SIWE session from `xenarch agent login`.

Parameters* required
limitinteger
Page size (default 25)
starting_afterstring
Cursor: last link_id of the previous page
xenarch_get_linkGet one pay-link's detail (status, params, stats) by id. Read-only.1 params

Get one pay-link's detail (status, params, stats) by id. Read-only.

Parameters* required
link_idstring
The pay-link id
xenarch_create_linkCreate a pay-link. VALIDATE-FIRST: call with mode:'validate' (default) to learn which fields are missing (each missing field includes a prompt to ask the user); once valid, call again with mode:'create' and confirm:true to sign + create. Signs with the agent's local key — the...6 params

Create a pay-link. VALIDATE-FIRST: call with mode:'validate' (default) to learn which fields are missing (each missing field includes a prompt to ask the user); once valid, call again with mode:'create' and confirm:true to sign + create. Signs with the agent's local key — the...

Parameters* required
amountstring
Amount in USDC, e.g. '0.99' (max 1.00), or 'open'
confirmboolean
Required to actually sign + create in create mode
fieldsobject
Any additional create-body fields by name (see xenarch_create_link validate output / GET /v1/links/schema)
kindstring
Pay-link kind: invoice, subscription, donation, ticket, bounty, paywall, api_metering, checkout, quick_charge
modestring
validate (default) returns missing fields; create signs + createsone of validate · create
product_namestring
Product / line label
xenarch_revoke_linkRevoke a pay-link by id so it can no longer be paid. Requires confirm: true (returns needs_confirmation otherwise).2 params

Revoke a pay-link by id so it can no longer be paid. Requires confirm: true (returns needs_confirmation otherwise).

Parameters* required
confirmboolean
Required to revoke
link_idstring
The pay-link id to revoke
xenarch_list_paymentsList payments RECEIVED across the merchant's pay-links (newest first), with cursor pagination. Read-only.2 params

List payments RECEIVED across the merchant's pay-links (newest first), with cursor pagination. Read-only.

Parameters* required
limitinteger
Page size (default 25)
starting_afterstring
Cursor: last payment id of the previous page
xenarch_list_subscribersList subscribers across the merchant's subscription pay-links, with optional filters (link_id, status, mode). Read-only.5 params

List subscribers across the merchant's subscription pay-links, with optional filters (link_id, status, mode). Read-only.

Parameters* required
limitinteger
Page size (default 50)
link_idstring
Filter by a subscription link
modestring
reminder | permit | stream
starting_afterstring
Cursor: last subscription_id of the previous page
statusstring
active | cancelled | pending_email_verification | failed | exhausted
xenarch_get_merchant_profileGet the merchant profile (issuer identity, domain verification status). Read-only. Returns null if none is set yet.

Get the merchant profile (issuer identity, domain verification status). Read-only. Returns null if none is set yet.

No parameter schema in public metadata yet.

xenarch_update_merchant_profileUpdate the merchant profile (issuer name, site, email, address, tax id, brand color, logo, payout rhythm). Only the fields you pass change; the rest are preserved (whole-state upsert).8 params

Update the merchant profile (issuer name, site, email, address, tax id, brand color, logo, payout rhythm). Only the fields you pass change; the rest are preserved (whole-state upsert).

Parameters* required
brand_colorstring
Accent color, e.g. #5a9fd4
collection_rhythmstring
one of daily · weekly · monthly · never
issuer_addressstring
issuer_emailstring
issuer_logo_urlstring
HTTPS logo URL (must match your domain)
issuer_namestring
issuer_tax_idstring
merchant_sitestring
Your domain, e.g. example.com
xenarch_verify_domainVerify the merchant's domain via its DNS TXT record at _xenarch.<merchant_site> (XEN-394). Set merchant_site first via xenarch_update_merchant_profile.

Verify the merchant's domain via its DNS TXT record at _xenarch.<merchant_site> (XEN-394). Set merchant_site first via xenarch_update_merchant_profile.

No parameter schema in public metadata yet.

xenarch_pay_linkPay a Xenarch pay-link by id (wrapped x402): fetches the link's payment envelope, settles EIP-3009 USDC on Base, and confirms the payment with the link. Use this for pay.xenarch.com/l/<id> links; use xenarch_pay for arbitrary x402-gated URLs. Pays from the agent wallet (USDC o...2 params

Pay a Xenarch pay-link by id (wrapped x402): fetches the link's payment envelope, settles EIP-3009 USDC on Base, and confirms the payment with the link. Use this for pay.xenarch.com/l/<id> links; use xenarch_pay for arbitrary x402-gated URLs. Pays from the agent wallet (USDC o...

Parameters* required
link_idstring
The Xenarch pay-link id to pay
max_price_usdnumber
Refuse to pay if the price exceeds this (default 1.00)

Sponsors

Configuration

XENARCH_PRIVATE_KEYsecret

Wallet private key (hex, 0x-prefixed). Auto-generates on first run if omitted.

XENARCH_RPC_URL

Base RPC endpoint URL

XENARCH_NETWORK

Network for payments (base or base-sepolia)

XENARCH_MAX_PAYMENT_USD

Local per-call payment cap in USDC (default 1.00). The only spending ceiling in standalone mode; set 0 to disable. Connect XENARCH_API_TOKEN for managed per-tx/daily/monthly caps.

PORT

Port for HTTP server (default: 3000)

TRANSPORT*

Set to 'http' to enable HTTP transport

Readme

Xenarch — x402 MCP server for AI agent payments

npm License: MIT

Xenarch is a non-custodial x402 MCP server. AI agents — Claude, Cursor, LangChain, CrewAI — pay for HTTP 402—gated APIs and content with USDC micropayments on Base L2. No API keys, no subscriptions, no credit card on file. The agent wallet never needs ETH; USDC is the only token it ever holds. Payments settle on-chain: agent wallet → publisher wallet, direct. 0% Xenarch fee — there's no Xenarch contract in the money flow.

What makes Xenarch different


View the full README on GitHub

Details

Repository
github.com/xenarch-ai/xenarch-mcp
Website
xenarch.com
Category
AI & LLM Tools
Package
@xenarch/agent-mcp
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active

Related AI & LLM Tools MCP servers

View all
1yksanjo avatarGmemyksanjo/gmemPersistent, Solana-aware project memory for AI coding agents. Typed entities + git-aware diffs.1stars
2abhishek2432001 avatarDeeprepoabhishek2432001/deeprepoProductivity-boosting RAG engine for codebases with multi-provider AI support and semantic search.0stars
3agentc22 avatarX402engine Mcpagentc22/x402engine-mcp50+ pay-per-call APIs for AI agents — images, LLM, code, crypto, travel & more via x4020stars
4observer-protocol avatarAgentic Terminal Directoryobserver-protocol/at-directoryVerified merchants accepting agentic payments on Lightning/L402/BOLT12/USDT — search, verify, pay.0stars
5autonomad1 avatarComputebackautonomad1/computeback-mcpAgent Rewards Marketplace: earn $NOMD on B2B work, spend on agent capabilities.0stars
6nothumansearch avatarNot Human Searchai.nothumansearch/searchSearch the agentic web. 4,100+ sites, 11 tools incl. check_url + verify_mcp for probe-before-use.0stars