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 CodeReplace 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 APIAccess 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 curl -X POST https://x402.serendb.com/api/proxy \
-H "Content-Type: application/json" \
-d '{
"publisherId": "d94e8d25-1561-46f7-88d1-9ee9a28e0e2a",
"agentWallet": "0xYourWalletAddress",
"request": {
"method": "GET",
"path": "/endpoint"
}
}'This returns 402 Payment Required with the payment details you need to sign.
Step 2: Add Payment HeaderAfter 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 '{ ... }'