Pre-payment merchant trust checks for x402 agents on Base and Solana.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Before paying an unfamiliar merchant via x402, including one just discovered through a marketplace like Coinbase's x402 Bazaar, call this for a machine-readable assessment of their observable on-chain payment behavior, on Base or Solana. Returns a `recommendation` (PROCEED / CAUTION / INSUFFICIENT_SIGNAL) a payment policy can branch on directly, plus supporting evidence: trust tier, confidence, payer diversity, transaction history, category (data_api/compute/content_generation/financial_data/storage/other), known platform URL(s), and the merchant's own advertised price(s) compared against category peers, with no caller-supplied price required for that. This is decision support drawn from observed behavior, not a certification. PROCEED means the available evidence doesn't show cause for concern, not a guarantee of safety. INSUFFICIENT_SIGNAL means there isn't enough history to say either way, distinct from an actual concern. Add a specific quoted price to also check that exact figure against comparable sellers. $0.01 USDC per check, paid via x402.
Merchant's receiving wallet address: a Base (0x...) or Solana (base58) address. Usually extractable directly from a 402 Payment Required response's accepts[].payTo.
Optional. Payment asset/token from the 402 response's accepts[].asset. Not required to score.
Quoted price in USD-equivalent, if checking fairness
Optional. Atomic payment amount from the 402 response's accepts[].amount, if preferred over `price`. Not required to score.
Optional. CAIP-2 network id from the 402 response's accepts[].network (e.g. "eip155:8453"), if already on hand. Not required to score.
Optional. The resource/service URL the agent was trying to reach. Not required to score.
Deprecated, accepted but unused. Price-fairness now compares against the merchant's own on-chain-derived category automatically, no need to supply this.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Before paying an unfamiliar merchant via x402, including one just discovered through a marketplace like Coinbase's x402 Bazaar, call this for a machine-readable assessment of their observable on-chain payment behavior, on Base or Solana. Returns a `recommendation` (PROCEED / CAUTION / INSUFFICIENT_SIGNAL) a payment policy can branch on directly, plus supporting evidence: trust tier, confidence, payer diversity, transaction history, category (data_api/compute/content_generation/financial_data/storage/other), known platform URL(s), and the merchant's own advertised price(s) compared against category peers, with no caller-supplied price required for that. This is decision support drawn from observed behavior, not a certification. PROCEED means the available evidence doesn't show cause for concern, not a guarantee of safety. INSUFFICIENT_SIGNAL means there isn't enough history to say either way, distinct from an actual concern. Add a specific quoted price to also check that exact figure against comparable sellers. $0.01 USDC per check, paid via x402.
| Argument | Type | Description |
|---|---|---|
| asset | string | Optional. Payment asset/token from the 402 response's accepts[].asset. Not required to score. |
| price | number | Quoted price in USD-equivalent, if checking fairness |
| amount | string | Optional. Atomic payment amount from the 402 response's accepts[].amount, if preferred over `price`. Not required to score. |
| network | string | Optional. CAIP-2 network id from the 402 response's accepts[].network (e.g. "eip155:8453"), if already on hand. Not required to score. |
| service_url | string | Optional. The resource/service URL the agent was trying to reach. Not required to score. |
| resource_type | string | Deprecated, accepted but unused. Price-fairness now compares against the merchant's own on-chain-derived category automatically, no need to supply this. |
| merchant_wallet_address* | string | Merchant's receiving wallet address: a Base (0x...) or Solana (base58) address. Usually extractable directly from a 402 Payment Required response's accepts[].payTo. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"merchant_wallet_address"
],
"properties": {
"asset": {
"type": "string",
"description": "Optional. Payment asset/token from the 402 response's accepts[].asset. Not required to score."
},
"price": {
"type": "number",
"description": "Quoted price in USD-equivalent, if checking fairness"
},
"amount": {
"type": "string",
"description": "Optional. Atomic payment amount from the 402 response's accepts[].amount, if preferred over `price`. Not required to score."
},
"network": {
"type": "string",
"description": "Optional. CAIP-2 network id from the 402 response's accepts[].network (e.g. \"eip155:8453\"), if already on hand. Not required to score."
},
"service_url": {
"type": "string",
"description": "Optional. The resource/service URL the agent was trying to reach. Not required to score."
},
"resource_type": {
"type": "string",
"description": "Deprecated, accepted but unused. Price-fairness now compares against the merchant's own on-chain-derived category automatically, no need to supply this."
},
"merchant_wallet_address": {
"type": "string",
"description": "Merchant's receiving wallet address: a Base (0x...) or Solana (base58) address. Usually extractable directly from a 402 Payment Required response's accepts[].payTo."
}
},
"additionalProperties": false
}