ProvenPaid

Official registry AI and agents

Check an x402 endpoint before your agent pays it: challenge validity and on-chain payer evidence.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package provenpaid-mcp
Claude Code
claude mcp add provenpaid -e 'PROVENPAID_WALLET_PRIVATE_KEY=<your provenpaid_wallet_private_key>' -e 'PROVENPAID_DAILY_LIMIT=<PROVENPAID_DAILY_LIMIT>' -e 'PROVENPAID_MAX_PRICE_USD=<PROVENPAID_MAX_PRICE_USD>' -- uvx provenpaid-mcp==0.2.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "provenpaid": {
            "command": "uvx",
            "args": [
                "provenpaid-mcp==0.2.0"
            ],
            "env": {
                "PROVENPAID_WALLET_PRIVATE_KEY": "<your provenpaid_wallet_private_key>",
                "PROVENPAID_DAILY_LIMIT": "<PROVENPAID_DAILY_LIMIT>",
                "PROVENPAID_MAX_PRICE_USD": "<PROVENPAID_MAX_PRICE_USD>"
            }
        }
    }
}

Environment variables

  • PROVENPAID_WALLET_PRIVATE_KEY secret Optional. Private key of a dedicated low-balance wallet holding USDC on Base, used only to sign payments after the 10 free checks. Not needed to try it.
  • PROVENPAID_DAILY_LIMIT Maximum paid checks per UTC day (default 20).
  • PROVENPAID_MAX_PRICE_USD Refuse checks priced above this (default 0.01, hard ceiling 0.10).

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. provenpaid-mcp
  2. Tools
  3. Install
  4. Wallet safety
  5. How it works
  6. License

provenpaid-mcp

Give your agent a pre-payment check for paid x402 endpoints. Evidence before you pay.

ProvenPaid checks an x402 endpoint before your agent relies on it: is its payment challenge valid, and do real wallets actually pay it on-chain, come back, and how concentrated are payments? This MCP server exposes that check as a tool. The first 10 checks are free, with no wallet and no setup. After that it pays automatically, about $0.01 in USDC on Base per check, from a wallet you control.

Use it once before relying on an unfamiliar endpoint, not before every call.

Tools

ToolCostWhat it does
check_x402_endpoint(url)first 10 free, then about $0.01Validates the endpoint's x402 challenge and reports public on-chain evidence for its receiving address: distinct payers, repeat-payer share, payer concentration, coverage.
provenpaid_methodology()freeHow each signal is computed, what is not verified, and when a check is charged.
provenpaid_status()freeFree checks left, paying wallet address, network, price cap and paid checks left today.

You are not charged when the URL is invalid or unsafe, is not an x402 endpoint, or offers no payment option in USDC on Base. Results are evidence, not a verdict: ProvenPaid does not verify service quality or that an endpoint controls its receiving address.

Install

Requires Python 3.11+. With uv:

uvx provenpaid-mcp

or pip install provenpaid-mcp.

Try it free (no wallet)
{
  "mcpServers": {
    "provenpaid": { "command": "uvx", "args": ["provenpaid-mcp"] }
  }
}

On first run it creates a local identity key (~/.provenpaid-mcp/identity.key, owner-only). The key holds no funds; it only lets ProvenPaid count your 10 free checks. Only checks that return evidence count.

Keep going after the free checks

Add a dedicated, low-balance wallet:

{
  "mcpServers": {
    "provenpaid": {
      "command": "uvx",
      "args": ["provenpaid-mcp"],
      "env": {
        "PROVENPAID_WALLET_PRIVATE_KEY": "0x...",
        "PROVENPAID_DAILY_LIMIT": "20"
      }
    }
  }
}

Wallet safety

  • Use a dedicated wallet holding only a few dollars of USDC on Base. Never use a wallet with meaningful funds.
  • The key stays on your machine, in memory only. It is never logged, returned by a tool, or sent anywhere; only signed payment authorizations leave the process.
  • No ETH is needed: the payment facilitator pays network fees.

Guardrails enforced before anything is signed:

SettingDefaultMeaning
PROVENPAID_MAX_PRICE_USD0.01Refuse any check priced above this (hard ceiling 0.10).
PROVENPAID_DAILY_LIMIT20Maximum paid checks per UTC day, persisted across restarts.
PROVENPAID_NETWORKeip155:8453Pay only on this network, only in its USDC. eip155:84532 for Base Sepolia testing.
PROVENPAID_API_URLhttps://api.provenpaid.comMust be https.
PROVENPAID_STATE_DIR~/.provenpaid-mcpWhere the daily counter is kept.

How it works

The server calls GET https://api.provenpaid.com/v1/check?url=.... The API answers HTTP 402 with x402 payment requirements; the official x402 SDK signs a single-use USDC authorization within the guardrails above and retries. Settlement happens only when the check delivers evidence. Methodology: https://api.provenpaid.com/methodology

License

MIT

Frequently asked questions

What is ProvenPaid?

Check an x402 endpoint before your agent pays it: challenge validity and on-chain payer evidence.

How do I install ProvenPaid?

It runs on your machine. In Claude Code: claude mcp add provenpaid -e 'PROVENPAID_WALLET_PRIVATE_KEY=<your provenpaid_wallet_private_key>' -e 'PROVENPAID_DAILY_LIMIT=<PROVENPAID_DAILY_LIMIT>' -e 'PROVENPAID_MAX_PRICE_USD=<PROVENPAID_MAX_PRICE_USD>' -- uvx provenpaid-mcp==0.2.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does ProvenPaid need an API key?

Yes. It expects PROVENPAID_WALLET_PRIVATE_KEY, which you set in its configuration.

Is ProvenPaid open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains ProvenPaid?

It is published by justinsmithphd. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.