Base USDC Payment Verifier (x402)

Verify a Base tx is a confirmed native-USDC transfer to a recipient. Paid via x402, 0.01 USDC/call.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
65%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~545Tokens (tool definitions)
~1.8 KBTypical response size
Minimal attention impact (0.43% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "base-usdc-verifier": {
      "url": "https://x402-usdc-verify.onrender.com/mcp"
    }
  }
}

Remote endpoints

https://x402-usdc-verify.onrender.com/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_pricing

Free. Returns the x402 price, network, USDC asset, payTo address and facilitator for the paid verify_usdc_payment tool.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢verify_usdc_payment(chain, txHash, expectedTo, expectedAmount, expectedAmountAtomic, ...)

Verify a Base (mainnet, default) or Base Sepolia transaction is a successful, confirmed transfer of native Circle USDC (not a look-alike token) to an expected recipient for an exact or minimum amount. Checks receipt status, canonical block, confirmations, optional payer, notBefore/maxAge windows; returns verdict valid|invalid|pending|not_found with machine-readable reasons and the matched Transfer log. Not charged on 4xx/5xx errors. PAID: 0.01 USD in USDC per successful call via x402 (eip155:8453). Malformed input is rejected before payment.

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "base",
        "base-sepolia"
      ],
      "description": "Chain of the tx being verified (default base)"
    },
    "txHash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$",
      "description": "0x-prefixed 32-byte transaction hash"
    },
    "expectedTo": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Recipient that must receive USDC"
    },
    "expectedAmount": {
      "type": "string",
      "description": "Decimal USDC, max 6 decimals, e.g. \"0.10\" (or expectedAmountAtomic)"
    },
    "expectedAmountAtomic": {
      "type": "string",
      "description": "Integer atomic units (1 USDC = 1000000)"
    },
    "amountMatch": {
      "type": "string",
      "enum": [
        "exact",
        "atLeast"
      ],
      "description": "exact (default) or atLeast"
    },
    "expectedFrom": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Optional required payer"
    },
    "minConfirmations": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10000,
      "description": "Default 3"
    },
    "notBefore": {
      "type": "integer",
      "description": "Unix seconds; reject txs mined earlier (anti-replay)"
    },
    "maxAgeSeconds": {
      "type": "integer",
      "description": "Reject txs older than this many seconds"
    }
  },
  "required": [
    "txHash",
    "expectedTo"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools