Install the x402 MCP server to let your AI agent access this data with automatic USDC payments on Base.
Required: You need a SerenDB database to store query results.
Get your connection string from the SerenDB Console under your database settings.
Add to claude_desktop_config.json:
{
"mcpServers": {
"x402": {
"command": "npx",
"args": ["@serendb/x402-mcp-server"],
"env": {
"X402_GATEWAY_URL": "https://x402.serendb.com",
"WALLET_PRIVATE_KEY": "0x...",
"BASE_RPC_URL": "https://mainnet.base.org",
"SERENDB_CONNECTION_STRING": "postgresql://..."
}
}
}
} Claude Code Replace 0x... with your wallet private key and postgresql://... with your SerenDB connection string.
claude mcp add x402 \
-e X402_GATEWAY_URL=https://x402.serendb.com \
-e WALLET_PRIVATE_KEY=0x... \
-e BASE_RPC_URL=https://mainnet.base.org \
-e "SERENDB_CONNECTION_STRING=postgresql://..." \
-- npx -y @serendb/x402-mcp-server claude mcp add x402 `
-e X402_GATEWAY_URL=https://x402.serendb.com `
-e WALLET_PRIVATE_KEY=0x... `
-e BASE_RPC_URL=https://mainnet.base.org `
-e "SERENDB_CONNECTION_STRING=postgresql://..." `
'--' npx -y @serendb/x402-mcp-server Replace 0x... with your wallet private key and postgresql://... with your SerenDB connection string.
gemini mcp add x402 \
-e X402_GATEWAY_URL=https://x402.serendb.com \
-e WALLET_PRIVATE_KEY=0x... \
-e BASE_RPC_URL=https://mainnet.base.org \
-e "SERENDB_CONNECTION_STRING=postgresql://..." \
-- npx -y @serendb/x402-mcp-server Replace 0x... with your wallet private key and postgresql://... with your SerenDB connection string.
codex mcp add x402 \
--env X402_GATEWAY_URL=https://x402.serendb.com \
--env WALLET_PRIVATE_KEY=0x... \
--env BASE_RPC_URL=https://mainnet.base.org \
--env "SERENDB_CONNECTION_STRING=postgresql://..." \
-- npx -y @serendb/x402-mcp-server Important: Cursor has a 60s timeout. Pre-install globally first: npm install -g @serendb/x402-mcp-server
First, install globally to avoid timeout issues:
npm install -g @serendb/x402-mcp-server Then add to ~/.cursor/mcp.json:
{
"mcpServers": {
"x402": {
"command": "x402-mcp-server",
"args": [],
"env": {
"X402_GATEWAY_URL": "https://x402.serendb.com",
"WALLET_PRIVATE_KEY": "0x...",
"BASE_RPC_URL": "https://mainnet.base.org",
"SERENDB_CONNECTION_STRING": "postgresql://..."
}
}
}
} Also works with Windsurf , Zed , and other MCP-compatible clients. See the full setup guide for details.
For Developers Direct HTTP API Access data directly via HTTP using the x402 payment protocol.
How x402 Payments Work Send your query request to the gateway Receive HTTP 402 with payment requirements (amount, wallet, EIP-712 data) Sign the payment authorization with your wallet Retry request with X-PAYMENT header containing the signature Receive your data - payment settles automatically via USDC on Base Step 1: Get Payment Requirements Copycurl -X POST https://x402.serendb.com/api/proxy \
-H "Content-Type: application/json" \
-d '{
"publisherId": "fce22e43-0098-4ccb-940b-7723c50ea9e4",
"agentWallet": "0xYourWalletAddress",
"request": {
"method": "GET",
"path": "/endpoint"
}
}' This returns 402 Payment Required with the payment details you need to sign.
Step 2: Add Payment Header After signing the EIP-712 authorization, add the base64-encoded signature:
curl -X POST https://x402.serendb.com/api/proxy \
-H "Content-Type: application/json" \
-H "X-PAYMENT: <base64-encoded-signature>" \
-d '{ ... }'