About ProvenPaid
ProvenPaid is an MCP server for pre-payment checks of unfamiliar x402 endpoints. It validates payment challenges and reports public on-chain evidence for receiving addresses; results are evidence, not a judgment of service quality, with price and daily limits for paid checks.
Key features
- 01Validate x402 payment challenges
- 02Report on-chain payers and repeat payments
- 03Show payer concentration and coverage
- 04Check remaining quota, wallet, and limits
- 05Enforce price and daily caps before payment
Use cases
- 01Check an unfamiliar paid x402 endpoint before calling
- 02Compare payer distribution across receiving addresses
- 03Review remaining free checks and paid quota
MCP support
The MCP server gives agents tools to check x402 endpoints, read the methodology, and inspect status; checks return payment-challenge validation and public on-chain evidence.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx provenpaid-mcpPROVENPAID_WALLET_PRIVATE_KEYSecretOptional. 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_LIMITMaximum paid checks per UTC day (default 20).PROVENPAID_MAX_PRICE_USDRefuse checks priced above this (default 0.01, hard ceiling 0.10).Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
3Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes |
Details
From the project READMEprovenpaid-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
| Tool | Cost | What it does |
|---|---|---|
check_x402_endpoint(url) | first 10 free, then about $0.01 | Validates 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() | free | How each signal is computed, what is not verified, and when a check is charged. |
provenpaid_status() | free | Free 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:
| Setting | Default | Meaning |
|---|---|---|
PROVENPAID_MAX_PRICE_USD | 0.01 | Refuse any check priced above this (hard ceiling 0.10). |
PROVENPAID_DAILY_LIMIT | 20 | Maximum paid checks per UTC day, persisted across restarts. |
PROVENPAID_NETWORK | eip155:8453 | Pay only on this network, only in its USDC. eip155:84532 for Base Sepolia testing. |
PROVENPAID_API_URL | https://api.provenpaid.com | Must be https. |
PROVENPAID_STATE_DIR | ~/.provenpaid-mcp | Where 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.