X402 MCP Template
Uses Axios HTTP client library enhanced with X402 payment protocol support for making API requests that require micropayments
Integrates with Circle's USDC infrastructure for gasless micropayments, including testnet faucet access for development
Leverages Coinbase's X402 protocol and Base network infrastructure for EIP-712 signature-based gasless USDC transfers
Utilizes Ethereum's EIP-712 standard for cryptographic signatures enabling secure micropayments without gas fees
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@X402 MCP Templatesearch for coffee shops near me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
X402 MCP Template ๐ค๐ฐ
Production-ready MCP server template for consuming X402-protected APIs with gasless micropayments
This template provides everything you need to create an MCP (Model Context Protocol) server that can consume X402-enabled APIs, enabling AI agents like Claude to make micropayment-based API calls seamlessly.
๐ค For AI Developers: See CLAUDE.md for comprehensive X402 + MCP integration documentation, payment flows, and AI development guidance.
โจ Features
๐ X402 Gasless Micropayments - EIP-712 signatures, no gas fees for API consumption
๐ญ Dual Mode Operation - Demo mode (no wallet) and Payment mode (with wallet)
๐ Service Discovery - Automatic discovery of X402 API capabilities
๐ค Claude Desktop Ready - Drop-in integration with Claude Desktop
๐ก MCP Inspector Compatible - Test and debug with MCP Inspector
๐ญ Production-Ready - Mainnet (Base) and testnet (Base Sepolia) support
๐ Full TypeScript - Type-safe development with comprehensive types
โก Auto-Payment Handling - Automatic 402 retry with payment authorization
Related MCP server: agent-discovery-mcp
๐๏ธ Architecture
MCP + X402 Integration Flow
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Claude Desktop / MCP Client โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ User Request: "Search for coffee shops near me" โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ MCP Protocol: CallTool("search_places", {query: "coffee"}) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ X402 MCP Server (This Template) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Tool Handler: Receives request โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ X402 Payment Client (x402-axios) โ โ
โ โ - EIP-712 signature generation โ โ
โ โ - Automatic 402 retry handling โ โ
โ โ - Payment authorization โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ X402-Protected API Server โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ 1. First Request: Returns 402 Payment Required โ โ
โ โ - Includes payment requirements (price, network, address) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ 2. Payment Processing: โ โ
โ โ - Verify EIP-712 signature โ โ
โ โ - Submit to facilitator โ โ
โ โ - Execute USDC transfer (gasless) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ 3. Second Request: Payment authorized, returns data โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Result Returned to Claude โ
โ - API response data โ
โ - Payment metadata โ
โ - Cost information โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโKey Points:
MCP handles tool protocol and Claude communication
x402-axios handles payment protocol automatically
User only needs wallet with USDC - no manual payment steps
All payment complexity is abstracted away
๐ Project Structure
Template-x402-Mcp/
โโโ index.ts # Main MCP server implementation
โโโ package.json # Dependencies and scripts
โโโ tsconfig.json # TypeScript configuration
โโโ .env.example # Environment variables template
โโโ README.md # This file - setup and usage guide
โโโ CLAUDE.md # AI-friendly X402 + MCP documentation๐ Quick Start
1. Clone and Setup
# Navigate to template directory
cd Template-x402-Mcp
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env2. Configure Environment
Edit .env file:
Option A: Demo Mode (No Payment)
# Leave PRIVATE_KEY empty or with placeholder
PRIVATE_KEY=<your-private-key-here>
# Set your X402 API endpoint
RESOURCE_SERVER_URL=https://places-api.x402hub.xyz
# Network (testnet for demo)
NETWORK=base-sepoliaOption B: Payment Mode (X402 Enabled)
# Add your wallet private key
PRIVATE_KEY=0x1234567890abcdef...
# Set your X402 API endpoint
RESOURCE_SERVER_URL=https://places-api.x402hub.xyz
# Network: base-sepolia (testnet) or base (mainnet)
NETWORK=base-sepolia3. Customize Your Tools
Edit index.ts to define your API-specific tools:
// In ListToolsRequestSchema handler
{
name: "your_custom_tool",
description: "Description of what your tool does",
inputSchema: {
type: "object",
properties: {
// Define your input parameters
param1: {
type: "string",
description: "Parameter description"
}
},
required: ["param1"]
}
}Add tool handler:
case "your_custom_tool": {
const { param1 } = args as { param1: string };
// Make X402-protected API call
const response = await client.post("/api/your-endpoint", {
param1: param1
});
return {
content: [{
type: "text",
text: JSON.stringify(response.data, null, 2)
}]
};
}4. Build and Test
# Build TypeScript
npm run build
# Test with MCP Inspector
npm run inspector
# Or test in development mode
npm run dev5. Claude Desktop Integration
Add to Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"x402-your-api": {
"command": "node",
"args": ["/absolute/path/to/Template-x402-Mcp/build/index.js"],
"env": {
"PRIVATE_KEY": "0x...",
"RESOURCE_SERVER_URL": "https://your-x402-api.example.com",
"NETWORK": "base-sepolia"
}
}
}
}Restart Claude Desktop and your tools will be available!
๐ Getting USDC for Testing
Testnet (Base Sepolia)
# Use Circle's testnet faucet
# Visit: https://faucet.circle.com/
# Enter your wallet address
# Receive free testnet USDCMainnet (Base)
Buy USDC on Base network through:
๐ Available Tools
Built-in Tools
Tool | Description | Mode |
| Template tool for X402 API calls | Both |
| Get API service discovery metadata | Both |
| Check API availability | Both |
Demo Mode: Returns sample data with setup instructions Payment Mode: Makes real X402-protected API calls
๐ญ Demo Mode vs Payment Mode
Demo Mode (No Private Key)
Features:
โ Works immediately without wallet setup
โ Returns sample data for all tools
โ Shows setup instructions in responses
โ Perfect for development and testing MCP integration
โ Cannot make real API calls
Use Cases:
Testing MCP server functionality
Developing tool definitions
Claude Desktop integration testing
Learning X402 protocol flow
Payment Mode (With Private Key)
Features:
โ Makes real X402-protected API calls
โ Automatic payment handling (no manual steps)
โ Gasless USDC transfers
โ Production-ready
โ ๏ธ Requires USDC balance in wallet
Use Cases:
Production AI agent deployments
Real data consumption
Paid API access
Enterprise integrations
๐ ๏ธ Customization Guide
Adding a New Tool
Step 1: Add tool definition in ListToolsRequestSchema handler:
{
name: "get_data_by_id",
description: "Fetch specific data by ID from X402 API",
inputSchema: {
type: "object",
properties: {
id: {
type: "string",
description: "Unique identifier for the data"
}
},
required: ["id"]
}
}Step 2: Add tool handler in CallToolRequestSchema handler:
case "get_data_by_id": {
const { id } = args as { id: string };
if (!id?.trim()) {
throw new McpError(ErrorCode.InvalidParams, "ID parameter is required");
}
// Demo mode fallback
if (!paymentEnabled) {
return {
content: [{
type: "text",
text: JSON.stringify({
demo_mode: true,
sample_data: { id, name: "Sample Data" },
setup_instructions: { /* ... */ }
}, null, 2)
}]
};
}
// Payment mode - real API call
const response = await client.get(`/api/data/${id}`);
return {
content: [{
type: "text",
text: JSON.stringify(response.data, null, 2)
}]
};
}Changing API Endpoint
# In .env file
RESOURCE_SERVER_URL=https://your-new-api.example.comSwitching Networks
# Testnet (Base Sepolia)
NETWORK=base-sepolia
# Mainnet (Base)
NETWORK=base๐ Service Discovery
Your MCP server automatically fetches X402 service metadata from /.well-known/x402:
// Automatically called by service_info tool
const response = await axios.get(`${baseURL}/.well-known/x402`);
// Returns:
{
"service": "API Service Name",
"version": "1.0.0",
"payment": {
"protocol": "x402 v1.0",
"price": "$0.001",
"network": "base-sepolia"
},
"endpoints": {
"/api/endpoint": {
"method": "POST",
"description": "...",
"inputSchema": { /* ... */ },
"outputSchema": { /* ... */ }
}
}
}Use this metadata to dynamically generate tools or provide API documentation to users.
๐ Security Best Practices
Never commit
.env- Use.env.exampleas templateRotate private keys - Change keys regularly for production
Use separate wallets - Different addresses for testnet/mainnet
Monitor USDC balance - Track spending and set alerts
Validate API responses - Check data integrity and structure
Error handling - Don't expose sensitive info in errors
Rate limiting - Implement client-side rate limits if needed
๐ Monitoring
Check Wallet Balance
Monitor your USDC balance and payment transactions:
Testnet: Base Sepolia Explorer
Mainnet: Base Explorer
Server Logs
# Development mode with logs
npm run dev
# Check payment status
# Logs show: โ
Payment client initialized, wallet address, networkMCP Inspector
# Test tools interactively
npm run inspector
# Check:
# - Tool definitions are correct
# - Payment mode is active
# - API responses are valid๐งช Testing
Test with MCP Inspector
# Start inspector
npm run inspector
# Test tools:
1. Select "service_info" - should return API metadata
2. Select "health_check" - should return API health status
3. Select your custom tools - should work in demo or payment modeTest with Claude Desktop
Add to config (see Claude Desktop Integration above)
Restart Claude Desktop
Test in conversation:
You: Can you check the service info for the X402 API? Claude: [Uses service_info tool, shows API metadata] You: Search for coffee shops near me Claude: [Uses your custom tool, makes payment if enabled]
Verify Payment Flow
Demo Mode:
Tools return sample data
Response includes setup instructions
No USDC required
Payment Mode:
First call triggers 402 response
x402-axios automatically retries with payment
USDC transferred (check explorer)
Real data returned
๐ Troubleshooting
"Running in DEMO MODE"
Issue: Private key not configured or invalid
Solutions:
Check
.envfile has validPRIVATE_KEY=0x...(66 characters)Ensure private key is not placeholder
<your-private-key-here>Verify key format:
0xfollowed by 64 hex characters
"Payment Required: Insufficient USDC balance"
Issue: Wallet doesn't have enough USDC
Solutions:
Get testnet USDC: https://faucet.circle.com/
For mainnet, buy USDC on Base network
Check balance in explorer (link above)
"Tool execution failed"
Issue: API endpoint or configuration problem
Solutions:
Verify
RESOURCE_SERVER_URLis correct and accessibleCheck if API supports X402 protocol
Use
health_checktool to test connectivityUse
service_infotool to verify API configuration
MCP Server Not Appearing in Claude
Issue: Claude Desktop not detecting MCP server
Solutions:
Verify
build/index.jsexists:npm run buildCheck Claude Desktop config has absolute path
Restart Claude Desktop completely
Check logs in Claude Desktop developer tools
๐ Resources
๐ License
MIT License - see LICENSE file for details
๐ค Contributing
This is a template - fork it and make it your own!
Clone the template
Customize for your X402 API
Deploy and share your MCP server
Built with โค๏ธ using X402 Protocol + Model Context Protocol
Replace this template with your own API integration and enable AI agents to consume your services! ๐
Available Tools
3 toolsexample_api_callC
Example tool for making X402-protected API calls. Replace with your actual API endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Example query parameter - customize for your API | |
| limit | No | Optional: Maximum number of results to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'X402-protected' which suggests some authentication/authorization requirement, but doesn't explain what this protection entails, whether there are rate limits, error behaviors, or what the tool actually does beyond making calls. The template nature ('Replace with your actual API endpoints') further obscures actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief (two sentences) and gets straight to the point about being an example tool for API calls. However, the second sentence 'Replace with your actual API endpoints' adds confusion rather than clarity, slightly reducing efficiency. Overall it's appropriately sized for what it attempts to convey.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns, what 'X402-protected' means operationally, or provide enough context for an agent to understand when and how to use it effectively. The template disclaimer undermines completeness for actual usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters (query and limit). The description adds no parameter-specific information beyond what's in the schema. However, since schema coverage is complete, the baseline score of 3 is appropriate as the description doesn't need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Example tool for making X402-protected API calls' which provides a vague purpose (making API calls with some protection), but it's generic and doesn't specify what resource or action it performs. The phrase 'Replace with your actual API endpoints' indicates this is a template rather than a functional tool, which creates ambiguity about its actual purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the sibling tools (health_check, service_info). The description only mentions it's for 'X402-protected API calls' without explaining what that means or when this protection is needed. There's no comparison to alternatives or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkB
Check if the X402 API service is available and responding
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool checks availability and responsiveness, but doesn't describe what 'available' or 'responding' means (e.g., HTTP status codes, timeouts, error handling), or any side effects like rate limits or authentication needs, leaving gaps for a mutation-free tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without any wasted words. It's front-loaded with the core action and resource, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but has clear gaps. It covers the basic purpose but lacks details on behavioral aspects like response format or error conditions, making it minimally viable but not fully comprehensive for an API health check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for such cases is 4, as the description appropriately avoids redundant information while focusing on the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Check') and resource ('X402 API service'), specifying availability and responsiveness. However, it doesn't explicitly differentiate from sibling tools like 'example_api_call' or 'service_info', which might offer overlapping functionality, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'example_api_call' or 'service_info', nor does it mention any prerequisites or exclusions. It implies usage for checking service status but lacks explicit context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
service_infoB
Get information about the X402 API service including available endpoints, pricing, and payment requirements
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation ('Get information'), which is straightforward, but doesn't add details like rate limits, authentication needs, or response format. The description is adequate for a simple info tool but lacks richer behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the purpose and specifies the types of information retrieved. Every word earns its place, with no wasted text or unnecessary elaboration, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is complete enough for basic understanding. However, it could be more comprehensive by addressing usage relative to siblings or providing more behavioral details, which would enhance contextual completeness for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the schema description coverage is 100%, so there's no need for parameter documentation in the description. The baseline for this scenario is 4, as the description appropriately avoids redundant parameter information and focuses on the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get information') and resource ('X402 API service'), including what information is retrieved (endpoints, pricing, payment requirements). However, it doesn't explicitly distinguish this from sibling tools like 'example_api_call' or 'health_check', which might also provide service-related information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'example_api_call' or 'health_check'. It doesn't mention prerequisites, context for usage, or exclusions, leaving the agent to infer appropriate scenarios based solely on the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
example_api_call - First observed
health_check - First observed
service_info
TDQS
Scored across 3 tools
The three tools have clearly distinct purposes: example_api_call is for making API calls, health_check is for service availability, and service_info is for retrieving service metadata. There is no overlap or ambiguity between these functions, making it easy for an agent to select the right tool for each task.
All tool names follow a consistent snake_case pattern with clear verb_noun structures: example_api_call, health_check, and service_info. This uniformity enhances readability and predictability, making the tool set easy to navigate and understand.
With only three tools, the set feels thin for a server labeled as an 'MCP Template' that might imply broader functionality. While the tools cover basic API interaction, health, and info needs, the count is borderline low for a template that could be expanded, suggesting it might be under-scoped for more complex use cases.
The tools provide foundational coverage for API calls, health checks, and service information, but there are notable gaps. For a template server, missing operations like authentication, error handling, or specific endpoint management could limit agent workflows, indicating an incomplete surface for robust API integration.
Maintenance
Related MCP Connectors
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
Pay-per-action access to APIs and MCP tools over Lightning L402 and Base USDC x402.
Agent-commerce MCP server for x402/USDC payments and affiliate splits on Base.
15 paid AI agent primitives via x402 (USDC on Base). Pay-per-call MCP server.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA production-ready template for building monetized MCP servers that require per-call payments via the Mainlayer infrastructure. It provides a structured payment gate that ensures AI agents pay for tool usage before accessing server logic or data.-
- AlicenseAqualityDmaintenanceAn MCP server that lets your AI coding agent (Claude Code, OpenClaw, Codex, Cursor, etc.) discover and pay on-chain agents registered on ERC-8004, using Coinbase's official x402 protocol. No smart account. No bundler. No relay. Just your EOA, an HTTPS request, and an automatic 402 โ sign โ retry flow.35MIT
- AlicenseBqualityDmaintenanceMCP server providing AI agents access to 38 pay-per-call APIs (LLM, image, code, audio, crypto, web, IPFS) via HTTP 402 micropayments in USDC/USDm.2253 npmMIT
- FlicenseAqualityBmaintenanceMCP server for a live x402 payment gateway on Base (USDC). Lets AI agents discover, preview for free, then pay per call โ with prepaid gasless payments, signed receipts, and delta delivery.7-