mcpField
A
agenticpay

agenticpay

Local
krystiangw.github.ioFinance3Updated 5w ago

About agenticpay

agenticpay is open-source payment infrastructure for the MCP ecosystem, enabling tools to charge per call in USDC over x402 on Solana. It includes a TypeScript SDK, CLI, paywall middleware, a self-hostable facilitator, and an end-to-end demo.

Key features

  1. 01Set USDC prices for tool calls
  2. 02Verify and settle Solana payments through x402
  3. 03Provide an SDK, CLI, and paywall middleware
  4. 04Self-host an x402 facilitator
  5. 05Wrap paid HTTP tools as an MCP server
  6. 06Skip settlement when tool calls fail

Use cases

  1. 01Charge per call for MCP tools
  2. 02Run a self-hosted facilitator to process payments
  3. 03Let agents pay for paid tool calls automatically
  4. 04Expose paid HTTP endpoints to MCP clients

MCP support

The project provides an HTTP server with x402 paywall middleware and an MCP server that exposes paid tools over stdio. MCP clients can connect to the server, with payment settled after successful tool execution.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"krystiangw-agenticpay": {
"command": "npx",
"args": [
"-y",
"@agenticpay/mcp-bridge"
],
"env": {
"AGENTICPAY_BRIDGE_KEYPAIR": "<AGENTICPAY_BRIDGE_KEYPAIR>",
"AGENTICPAY_BRIDGE_TOOLS": "<AGENTICPAY_BRIDGE_TOOLS>",
"AGENTICPAY_BRIDGE_NETWORK": "<AGENTICPAY_BRIDGE_NETWORK>",
"AGENTICPAY_BRIDGE_RPC": "<AGENTICPAY_BRIDGE_RPC>"
}
}
}
}
Run commandnpx -y @agenticpay/mcp-bridge
Environment variables to set
AGENTICPAY_BRIDGE_KEYPAIRSecretSolana keypair as 64-byte JSON array (the format `solana-keygen new` writes). The bridge signs each x402 payment with this keypair.
AGENTICPAY_BRIDGE_TOOLSJSON array of paid tool definitions. Each entry: { name, description, url, inputSchema, headers? }
AGENTICPAY_BRIDGE_NETWORKCAIP-2 network identifier. Devnet: solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1
AGENTICPAY_BRIDGE_RPCSolana JSON-RPC URL

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@agenticpay/mcp-bridge0.0.2

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

agenticpay

CI CodeQL gitleaks License: MIT GitHub stars npm: @agenticpay/sdk npm downloads

Website · Spend caps · npm

Get paid by AI agents. Open-source payment infrastructure for the MCP ecosystem - declare a price on any tool, agents pay in USDC over x402, settles on Solana in ~1.5 seconds.

No Stripe. No accounts. No API keys.

The full stack is here - SDK, CLI, paywall middleware, self-hosted x402 facilitator, and a live LLM agent demo. All TypeScript, MIT licensed.

Just want to test it? Point your mcp-server at our hosted devnet facilitator: FACILITATOR_URL=https://agentpay-facilitator-e9b20a5fee6a.herokuapp.com No setup needed.

Live demo

A real Claude Opus agent receives a task, decides which paid tools to use, pays autonomously via x402 micropayments on Solana, and answers the user.

$ pnpm --filter @agenticpay/two-agent-demo agent

Agent wallet: 3rHoEumCpH8EGrr6Lq2vBKeyec6h3yPRGj2nGG2FzEfX
Server:       http://localhost:4021
Facilitator:  http://localhost:4022   ← our own
Model:        claude-opus-4-7
Task:         Reverse the string 'agentpay rocks' and tell me how many words
              are in 'The quick brown fox jumps over the lazy dog'.

[turn 1] tool_use: reverse_string({"text":"agenticpay rocks"})  →  paying $0.001 USDC ...
  ✓ paid + got result in 1596ms: {"result":"skcor yaptnega"}
[turn 1] tool_use: word_count({"text":"The quick..."})  →  paying $0.0005 USDC ...
  ✓ paid + got result in 1286ms: {"count":9}

Agent final answer:
  1. Reversed string: skcor yaptnega
  2. Word count: 9 words

=== payments summary ===
  reverse_string   $0.0010 USDC   1596ms
  word_count       $0.0005 USDC   1286ms
  TOTAL            $0.0015 USDC   2 calls

On-chain proof (Solana devnet):

Why

The current AI agent stack assumes humans hold the credit card. That breaks the moment agents act on their own initiative - calling APIs, hiring sub-agents, paying for compute. You can't OAuth your way through it.

Stablecoin micropayments over HTTP fix it. agenticpay packages the missing ergonomics for the MCP ecosystem specifically: any tool can declare a price, any agent can pay it, and the whole pipeline - including the facilitator that actually submits the on-chain settlement - is open source and self-hostable.

Architecture

┌──────────────┐     1) HTTP request                    ┌─────────────┐
│   Claude /   │ ────────────────────────────────────▶ │  mcp-server │
│   GPT agent  │     2) HTTP 402 + payment requirements │  (yours)    │
│              │ ◀──────────────────────────────────── │             │
│              │     3) signed USDC payload             │             │
│              │ ────────────────────────────────────▶ │             │
└──────────────┘                                        └─────┬───────┘
                                                              │ verify+settle
                                                              ▼
                                                   ┌──────────────────────┐
                                                   │ agenticpay facilitator │
                                                   │   (also yours, this  │
                                                   │    repo, port 4022)  │
                                                   └──────────┬───────────┘
                                                              │ submit
                                                              ▼
                                                          Solana
                                                       (USDC SPL,
                                                       sub-cent fees)

You can also point mcp-server at the public x402.org/facilitator for testnet/devnet, or at Coinbase CDP for mainnet. We just made the self-hosted route easy.

Packages

PackageWhat it does
packages/sdkTypeScript primitives: USDC transfers, wallet management, network config
packages/cliagenticpay command - wallet, balance, send
packages/mcp-serverHTTP server with x402 paywall middleware. Each tool has a price.
packages/facilitatorSelf-hosted x402 facilitator - verify + settle USDC payments on Solana. Pays SOL fees on behalf of agents.
packages/eliza-pluginEliza plugin - wraps paid HTTP endpoints as native Eliza Actions. Solana-native AI agents pay per tool call.
packages/ai-sdkVercel AI SDK helpers - drop paid tools straight into generateText / streamText.
packages/mcp-bridgeReal MCP server (stdio + @modelcontextprotocol/sdk) wrapping x402 paid tools. Drop into Claude Desktop / Cursor.
examples/two-agent-demoReal Claude Opus agent paying for tool calls

Install

npm install @agenticpay/sdk           # Solana + USDC primitives
npm install -g @agenticpay/cli        # `agenticpay` command
npm install @agenticpay/mcp-server    # paywalled HTTP server
npm install @agenticpay/facilitator   # self-hosted x402 facilitator
npm install @agenticpay/eliza-plugin  # Eliza plugin (Solana-native agents)
npm install @agenticpay/ai-sdk        # Vercel AI SDK paid tools
npm install -g @agenticpay/mcp-bridge # MCP server for Claude Desktop / Cursor

Or clone the monorepo to get the live two-agent demo and edit-friendly templates (recommended for first run - see Quickstart below).

Use with Claude Code

This repo ships an Anthropic Skill at .claude/skills/agenticpay/SKILL.md. Copy it into your ~/.claude/skills/ to give Claude Code first-class context about agenticpay - it'll then walk you through monetizing an MCP server, generating tool routes, and verifying on-chain settlements without re-reading the README every time.

mkdir -p ~/.claude/skills
cp -r .claude/skills/agenticpay ~/.claude/skills/

Quickstart (devnet, ~5 minutes, free)

# 1. Install
pnpm install
pnpm -r build

# 2. Generate a payer wallet, fund it on devnet
node packages/cli/dist/index.js wallet new
node packages/cli/dist/index.js wallet show
# → fund SOL at https://faucet.solana.com  (paste pubkey)
# → fund USDC at https://faucet.circle.com (Solana Devnet, same pubkey)

# 3. (option A - fastest) Use our hosted devnet facilitator. Skip step 4.
export FACILITATOR_URL=https://agentpay-facilitator-e9b20a5fee6a.herokuapp.com

# 3. (option B - fully self-hosted) Start your own facilitator (terminal 1)
pnpm --filter @agenticpay/facilitator dev
# Note the printed feePayer address. It needs ~0.05 SOL devnet to cover fees.
# Either airdrop or use the helper:
pnpm --filter @agenticpay/facilitator fund
export FACILITATOR_URL=http://localhost:4022

# 4. Start the paywalled mcp-server (terminal 2)
PAY_TO=<recipient pubkey> pnpm --filter @agenticpay/mcp-server dev

# 5. Run the live LLM agent demo (terminal 3, needs ANTHROPIC_API_KEY in .env)
pnpm --filter @agenticpay/two-agent-demo agent

Framework integrations

Drop-in templates for the most common AI agent stacks live under examples/:

FrameworkFile
Anthropic SDK (canonical)examples/two-agent-demo/src/agent-llm.ts
Real-world paid server template (Claude-backed tools)examples/research-server/
LangChain.jsexamples/langchain-js/agent-with-paid-tools.ts
LangChain Pythonexamples/langchain-python/agent_with_paid_tools.py
Eliza (Solana-native)examples/eliza/plugin-agenticpay.ts
Mastraexamples/mastra/paid-tool.ts
Vercel AI SDKexamples/vercel-ai-sdk/paid-tool.ts
OpenAI Custom GPTexamples/openai-gpt/action-schema.json

See examples/README.md for the integration matrix.

Status

Pre-alpha. Devnet validated end-to-end. Mainnet config supported but requires funding the facilitator with real SOL and pointing at a mainnet-capable RPC (Helius, QuickNode, etc.).

Roadmap

  • Devnet end-to-end demo (smoke + LLM agent)
  • Self-hosted x402 facilitator (verify + settle, fee_payer abstraction)
  • Real-world MCP server template (search, fetch, summarize, extract - instead of toy reverse_string)
  • On-chain escrow for long-running tasks (Anchor program)
  • Agent reputation registry on-chain
  • Hosted facilitator service (agenticpay.com)

What's a facilitator?

If you've never seen x402 before: the facilitator is the trusted middleman that (1) verifies an agent's signed payment payload, (2) submits the USDC transfer on-chain, and (3) pays the SOL gas fees so the agent doesn't need any SOL - only USDC. Most MCP devs don't want to run their own; they point at a hosted one.

This repo ships a complete facilitator implementation. You can self-host it, fork it, audit it, or deploy it as a service for your own users.

What happens when a paid tool call fails?

Short version: a failed tool call is never charged. x402 settlement is an irreversible push, so the middleware is careful about when it settles:

  1. Verify before execute. The payment payload (signature, funds, requirements match) is verified before your tool handler runs. Invalid payment → HTTP 402, the tool never executes.
  2. Execute with a buffered response. The handler runs, but its response is held back - nothing is sent to the agent yet.
  3. Settle only on success. If the handler responds with status ≥ 400, the middleware skips settlement entirely and just returns the error. The agent pays nothing for a failed call.
  4. No result without payment. If on-chain settlement itself fails, the buffered tool result is discarded and the agent gets a payment error instead - the server never leaks a result it wasn't paid for.

What this doesn't cover: a tool that returns 200 OK with a junk answer is still charged - the protocol can't judge response quality. That's what keeps per-call prices micro ($0.0005–$0.001 in the demo): the worst case is capped at one call's price, and quality enforcement belongs to a reputation layer (see Roadmap) rather than the payment protocol.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.