
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 toolsPublic 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...
urlstringxenarch_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...
urlstringxenarch_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...
domainstringlimitintegerxenarch_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`.
periodstring24h · 7d · 30d · alldefault: 24hxenarch_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.
confirmbooleandailystringmonthlystringper_txstringxenarch_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.
confirmbooleanlabelstringmodestringallow · denypatternstringxenarch_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.
confirmbooleanidstringxenarch_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.
confirmbooleanmodestringallow · denyxenarch_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.
confirmbooleanxenarch_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.
confirmbooleanlabelstringxenarch_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.
confirmbooleankey_idstringxenarch_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.
confirmbooleankey_idstringxenarch_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.
domainstringpageintegerper_pageintegerperiodstring24h · 7d · 30d · alldefault: allsourcestringcli · mcp · sdk · customstatusstringpaid · pending · failedxenarch_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`.
limitintegerstarting_afterstringxenarch_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.
link_idstringxenarch_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...
amountstringconfirmbooleanfieldsobjectkindstringmodestringvalidate · createproduct_namestringxenarch_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).
confirmbooleanlink_idstringxenarch_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.
limitintegerstarting_afterstringxenarch_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.
limitintegerlink_idstringmodestringstarting_afterstringstatusstringxenarch_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).
brand_colorstringcollection_rhythmstringdaily · weekly · monthly · neverissuer_addressstringissuer_emailstringissuer_logo_urlstringissuer_namestringissuer_tax_idstringmerchant_sitestringxenarch_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...
link_idstringmax_price_usdnumberSponsors
Configuration
XENARCH_PRIVATE_KEYsecretWallet private key (hex, 0x-prefixed). Auto-generates on first run if omitted.
XENARCH_RPC_URLBase RPC endpoint URL
XENARCH_NETWORKNetwork for payments (base or base-sepolia)
XENARCH_MAX_PAYMENT_USDLocal 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.
PORTPort for HTTP server (default: 3000)
TRANSPORT*Set to 'http' to enable HTTP transport
Readme
Xenarch — x402 MCP server for AI agent payments
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
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