Q402 — gasless USDC/USDT payments across 7 EVM chains, callable from any MCP client.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-bitgett-q402-mcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP server for Q402 — gasless USDC and USDT payments across 7 EVM chains, callable directly from Claude Desktop and any other Model Context Protocol client.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in finance
Real-time financial market data: stocks, forex, crypto, commodities, and economic indicators
MCP server for InsightSentry financial data API - market data, options, screeners, and more
Model Context Protocol for Actual Budget API
A Model Context Protocol server allows Clients to interact with Xero
MCP Security Weekly
Get CVE alerts and security updates for io.github.bitgett/q402-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP server for Q402 — gasless USDC, USDT, and RLUSD payments across 8 EVM chains, callable from Claude (Desktop / Code), OpenAI Codex CLI, and any other Model Context Protocol client.
🎟️ Free trial available (2026-05-19 → 2026-06-30) — 2,000 gasless transactions on BNB Chain (USDC + USDT), 30-day window, no card. One wallet signature: https://q402.quackai.ai.
Trial-scope policy: API keys minted under the free-trial program (
plan: "trial") are restricted to BNB Chain with USDC/USDT — server-side enforcement, returns403 TRIAL_BNB_ONLYotherwise. Paid API keys see the full 8-chain matrix at all times.
Claude can now reason about stablecoin payments end to end — quote a transfer across 8 chains, pick the cheapest route, and (optionally) settle the transaction over Q402's EIP-7702 relayer infrastructure. The recipient receives the full amount; the sender pays $0 in gas.
The server speaks stdio MCP, so any MCP-compatible client can use it. The two paths verified end-to-end today are Claude (Desktop / Code) and OpenAI Codex CLI.
claude mcp add q402 -- npx -y @quackai/q402-mcp
Or edit claude_desktop_config.json directly:
{
"mcpServers": {
"q402": {
"command": "npx",
"args": ["-y", "@quackai/q402-mcp"]
}
}
}
Restart Claude Desktop and ask:
"Compare gas costs to send 50 USDC to vitalik.eth across all 8 Q402 chains."
Three install paths — pick the one that matches your workflow.
(a) Codex plugin marketplace (recommended — bundles the MCP config so users don't write TOML):
codex plugin marketplace add bitgett/q402-mcp
codex /plugins # browse and install "q402"
This repo carries a Codex plugin manifest at .codex-plugin/plugin.json and a marketplace catalog at .agents/plugins/marketplace.json, so any signed-in Codex user can register it as a marketplace source and install with one click.
(b) Single MCP server via codex mcp add (no plugin wrapper — just register the stdio server):
codex mcp add q402 -- npx -y @quackai/q402-mcp
(c) Direct ~/.codex/config.toml edit (.codex/config.toml for per-project scope):
[mcp_servers.q402]
command = "npx"
args = ["-y", "@quackai/q402-mcp"]
startup_timeout_sec = 20.0
To enable real on-chain payments, pass the three live-mode env vars explicitly under env — Codex does not forward host env vars by default:
[mcp_servers.q402]
command = "npx"
args = ["-y", "@quackai/q402-mcp"]
startup_timeout_sec = 20.0
env = {
# Two-key model: set whichever applies — both is best.
# Auto-routing rule (same for q402_pay AND q402_batch_pay):
# chain="bnb" + Q402_TRIAL_API_KEY set → Trial (free sponsored)
# anything else → Multichain (paid 8-chain)
# Batch ambiguity: when auto would land on Trial AND recipients.length > 5,
# q402_batch_pay returns status="ambiguous" WITHOUT executing so the agent
# can ask the user — pass keyScope="trial" (first 5), "multichain" (all
# paid), or call twice (5 free + remainder paid).
# Both keys use the same q402_live_ prefix — the env var name is what
# carries the scope, not the key string. Get the values from the
# dashboard (each key has its own copy button per view).
Q402_TRIAL_API_KEY = "q402_live_...", # BNB-only sponsored (from /event)
Q402_MULTICHAIN_API_KEY = "q402_live_...", # paid 8-chain (from /payment)
# Legacy fallback — used if neither scoped key above is set.
Q402_API_KEY = "q402_live_...",
Q402_PRIVATE_KEY = "0x
... [View full README on GitHub](https://github.com/bitgett/q402-mcp#readme)