Skip to main content
Glama
@arispay/payagent-mcp

@arispay/payagent-mcp

Official

@arispay/payagent-mcp

One coherent USDC payment product for AI agents: call x402-paid APIs, with spend mandates, receipts, and idempotency. Works with Claude Desktop, Cursor, Windsurf, or any MCP client. A thin wrapper around the payagent SDK.

Two ways to hold the wallet:

  • Local key (zero signup). Set PAYAGENT_PRIVATE_KEY to a funded EOA key. pay signs EIP-3009 locally — no ArisPay account, no email. The only guardrail is the wallet balance; use a dedicated low-balance wallet.

  • Delegated custody (managed, recommended). setup({ email }) self-provisions an account, a CDP-managed wallet, and a spend mandate in one call. ArisPay enforces per-transaction, daily, and monthly limits server-side before signing; no private key ever lives in this process.

Tools

Seven core tools (the default surface):

Tool

What it does

Money

setup

Create or recover an account + payer wallet in one call (delegated mode)

moves none

discover

Search the paid-API catalog by intent + budget

read-only

inspect

Read a URL's price and payment requirements without paying

read-only

pay

The complete machine path: request → 402 → select variant → validate policy → pay → structured receipt. Requires an idempotencyKey; a repeated key returns the cached receipt without paying again

spends real money

balance

Active identity, deposit address, on-chain USDC balance, mandate limits

read-only

history

Recent payments — server feed (delegated) or local receipts (self-custody)

read-only

check_payment_signal

Buy ArisPay Signal: recent signed probe evidence about an x402 resource (did a real paid probe settle and deliver?). A still-valid cached artifact returns without spending; an unknown resource is answered free

spends 1¢ per uncached call

Wallet administration (create_agent, fund_agent, list_agents, rename_agent) loads only when the host config sets PAYAGENT_MCP_PROFILE=admin.

Every tool declares MCP safety annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); pay and check_payment_signal are the only destructive tools — both spend real money.

Related MCP server: agent-x402-paywall-mcp

Support matrix

Asset

Network

Local key (self-custody)

Delegated (managed mandate)

USDC

Base (default)

✅

✅

USDC

Ethereum, Polygon

✅

✅

USDC

Base Sepolia (testnet)

✅

✅

USDC (SPL)

Solana, Solana devnet

❌ (EVM signing only)

✅ (live on api.arispay.app since 2026-08-25)

USD1

BNB Chain

✅

✅

Notes:

  • All prices are quoted by sellers in the 402 challenge; pay prefers an EVM variant and falls back to Solana when the seller offers no EVM option.

  • Delegated mandates are integer cents, validated server-side before any signature exists. Local mode has no server-side cap.

  • Settlement is a single on-chain transferWithAuthorization (EIP-3009): it succeeds or reverts atomically. When the seller returns X-PAYMENT-RESPONSE, the receipt carries the settlement transaction hash.

  • ArisPay's own facilitator (facilitator.arispay.app) charges no facilitator fee; sellers may use any facilitator, and their fee/finality policy applies.

Setup

Add the server to your MCP client config. No environment variables are required — pick a wallet mode later, from inside the chat, or set one of the env options below.

Claude Desktop

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

{
  "mcpServers": {
    "arispay": {
      "command": "npx",
      "args": ["-y", "@arispay/payagent-mcp"]
    }
  }
}

For the zero-signup mode, add the key to the env block:

      "env": { "PAYAGENT_PRIVATE_KEY": "0x..." }

Cursor

Same server block in .cursor/mcp.json. Windsurf: same pattern in ~/.codeium/windsurf/mcp_config.json.

Cold start, from nothing

  • Zero signup: generate a key with npx payagent wallet new, put it in the host config as PAYAGENT_PRIVATE_KEY, send USDC on Base to the printed address. balance shows the deposit address; pay pays.

  • Managed: ask the agent to run setup({ email: "you@example.com" }) — it returns the wallet address and mandate. Fund the wallet with USDC, confirm with balance, then pay. Credentials persist to ~/.payagent/config.json and are shared with the payagent CLI.

Environment variables (all optional)

Variable

Description

PAYAGENT_PRIVATE_KEY

Funded EOA key for local self-custody signing (zero-signup mode).

ARISPAY_API_KEY

Developer key — usually unneeded; setup self-provisions one.

ARISPAY_URL

ArisPay API base URL. Default https://api.arispay.app.

PAYAGENT_MCP_PROFILE

admin additionally loads the four wallet-administration tools. Default: core (seven tools).

ARISPAY_AGENT_KEY / PAYAGENT_WALLET

Legacy single-agent pair for v2.0.x hosts.

Migrating from v3

v4 is a breaking release: the surface collapsed to one x402/USDC product.

v3 tool

v4

create_user

setup

pay_api

pay (now requires idempotencyKey, returns a structured receipt)

discover_paid_api

discover

inspect_paid_api

inspect

check_wallet, get_balance_agent

balance

—

history (new)

create_agent, fund_agent, list_agents, rename_agent

unchanged, behind PAYAGENT_MCP_PROFILE=admin

create_wallet, list_wallets, fund_wallet, get_balance, pay_merchant, create_enduser, attach_card_for_user, set_user_limits, get_user_status

removed — the fiat funding and platform (end-user) surfaces left the public MCP

Receipts and idempotency

pay requires a caller-chosen idempotencyKey (min 8 chars — use a UUID). Every completed payment writes a machine-readable receipt (amount, asset, network, wallet, settlement tx, remaining mandate) to ~/.payagent/mcp-receipts.json. Re-calling pay with a key that already paid returns the stored receipt and does not pay again — including when the paid request failed mid-flight. history lists receipts in self-custody mode; delegated mode reads the authoritative server feed.

How it works

  1. The agent calls pay with a URL and an idempotencyKey; the seller answers HTTP 402 with its price.

  2. With PAYAGENT_PRIVATE_KEY set, payagent signs the EIP-3009 authorization locally. Otherwise ArisPay validates the request against the agent's mandate and signs via Coinbase CDP.

  3. payagent retries with the signed payment header; the seller's facilitator settles USDC on-chain.

  4. The tool returns the paid response plus a structured receipt.

In delegated mode, no private key lives in this process and payments that breach the mandate are rejected before any on-chain action. In local mode, the key is yours and stays in your process.

Install

npm install @arispay/payagent-mcp

Or invoke directly via npx @arispay/payagent-mcp from an MCP client config — no pre-install required. npx buyforme-mcp is the same server under the consumer brand.

License

MIT

Available Tools

7 tools
balanceA
Read-onlyIdempotent

Read-only: shows where the money is — the active payment identity (the stored ArisPay agent, delegated, or the PAYAGENT_PRIVATE_KEY-derived address, self-custody) with its USDC deposit address, on-chain balance and (delegated) spend-mandate limits, plus the account holder's own bank accounts (vIBANs) with their balances and pay-in details. Spends no money, never pays. Select this to tell the human where their money is and how to add more, to confirm a deposit landed, or when a payment fails.

Inputs: agent.

check_payment_signalA
DestructiveIdempotent

SPENDS REAL MONEY — 1¢ (USDC, Base mainnet) per UNCACHED call; a still-valid cached artifact returns WITHOUT spending, and an unknown resource is answered free. Buys ArisPay Signal: recent signed probe evidence about an x402 resource (did a real paid probe settle and deliver?) as an arispay.signal.v1 artifact, verified against the published JWKS. Use it BEFORE a material first payment to an unfamiliar resource, or after cached evidence expires. The decision denominator is CUMULATIVE exposure before the artifact expires — planned spend across all intended calls, or the expected cost of one failure, whichever is larger — not the price of the next call: an agent planning 100 calls to a 1¢ endpoint should check; an agent making a single 1¢ call should not. Skip it when cumulative exposure is at or below the 1¢ check price. Returns signed observational evidence with explicit freshness — NOT a guarantee, insurance, or endorsement. Network side effect: one HTTPS request to the Signal endpoint; payment side effect: the 1¢ x402 purchase on uncached calls.

Inputs: resource (required), agent.

discoverA
Read-onlyIdempotent

Searches the ArisPay marketplace for paid APIs by capability or plain-language intent, optionally budget-bounded (integer cents). Read-only — spends no money, needs no API key. Returns ranked candidates with endpoint URL, price in cents, health and verification flags. Select this to FIND an endpoint; then inspect to price a specific URL, then pay to call it.

Inputs: query (required), limit, category, budgetCentsMax.

historyA
Read-onlyIdempotent

Read-only: lists recent payments — the server-side activity feed in delegated mode (newest first), or locally recorded receipts in self-custody mode. Spends no money. Select this to reconcile what was paid, retrieve a past receipt, or audit an agent's spending.

Inputs: agent, limit.

inspectA
Read-onlyIdempotent

Fetches an x402-protected URL WITHOUT paying and reports its price, asset, network, and payment requirements. Read-only — spends no money, sends no payment header, needs no API key or account. Always safe. Select this before pay to know exactly what a resource costs.

Inputs: url (required).

payA
DestructiveIdempotent

SPENDS REAL MONEY — on-chain and irreversible. The complete machine payment path: makes the HTTP request, and if the server answers 402, selects the supported asset/network variant (USDC on Base/Ethereum/Polygon; delegated mode also settles Solana and BNB Chain variants), validates policy, pays, retries the request, and returns the response plus a structured machine-readable receipt. Requires an idempotencyKey: re-calling with a key that already paid returns the cached receipt and does NOT pay again. Mode selection: PAYAGENT_PRIVATE_KEY set → signs locally (self-custody; wallet balance is the only cap); otherwise pays through the stored ArisPay agent whose per-tx/daily/monthly mandate is enforced server-side BEFORE signing. Use inspect first to see the price. Do not use for ordinary unpaid HTTP requests.

Inputs: url (required), idempotencyKey (required), body, agent, +2 more.

setupA
Idempotent

Creates or recovers an ArisPay account for delegated custody and provisions a USDC payer wallet in one call (side effects: registers the email, creates a Coinbase CDP-managed wallet, writes credentials to ~/.payagent/config.json on this machine). Moves no money — it does NOT spend funds. Idempotent: re-running with the same email recovers the existing account and its wallets. Not needed in self-custody mode: if PAYAGENT_PRIVATE_KEY is set, skip setup entirely — pay works with the local key alone.

Inputs: email (required), name.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 7 tools

    Disambiguation4/5

    Each tool has a distinct function: discover finds endpoints, inspect prices one, pay executes, balance locates funds, history audits past payments, check_payment_signal buys probe evidence, and setup provisions an account. The only mild overlap is between the two pre-payment diagnostics (inspect vs check_payment_signal), but the descriptions clearly separate pricing from buying evidence.

    Naming Consistency3/5

    Most names are single words but mix nouns (balance, history) with bare verbs (inspect, discover, pay, setup), and one tool breaks the pattern with snake_case multi-word 'check_payment_signal'. It remains readable and predictable in intent, but there is no consistent verb_noun convention.

    Tool Count5/5

    Seven tools is well-scoped for a payment agent, with each earning its place across the discover→inspect→pay→history→balance workflow plus account setup and a safety-verification step. No filler or redundant tools.

    Completeness4/5

    The surface covers the full agent-payment lifecycle: provisioning, discovery, price inspection, paying, spending audit, balance lookup, and pre-payment signal verification. Minor gaps exist (no explicit tool to modify spend mandates or manage/withdraw vIBAN funds), but core workflows are fully covered.

    Maintenance

    ActivitySlowing
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers