x402 Counterparty Score

Trust scores for x402 sellers: wash-trading, real buyers, verdict. $0.02/score via x402 on Base.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,293Tokens (tool definitions)
~6.9 KBTypical response size
Moderate attention impact (1.01% 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": {
    "counterparty-score": {
      "url": "https://x402score.org/mcp"
    }
  }
}

Remote endpoints

https://x402score.org/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟔 WritešŸ”“ Delete⚪ Unknown
🟢score_x402_counterparty(subject)

Returns trust verdict (trusted/caution/avoid) with wash-trading ratio, real-buyer count, and repeat-buyer rate for an x402 endpoint URL or pay-to address. $0.02/call. Computed from Base on-chain settlement data and the x402 Bazaar catalog; a score is sold only if refreshed within the past 24 hours.

Input Schema

{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "description": "The counterparty to score: an x402 endpoint URL (e.g. \"https://api.seller.example/quote\") or a pay-to address (e.g. \"0x036C…\"), exactly as advertised in the x402 Bazaar catalog or the 402 handshake."
    }
  },
  "required": [
    "subject"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "description": "The x402 endpoint URL or pay-to address this score is about."
    },
    "verdict": {
      "type": "string",
      "enum": [
        "trusted",
        "caution",
        "avoid"
      ],
      "description": "Decision-grade trust verdict on the counterparty."
    },
    "wash_trading_ratio": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Share of nominal settlement volume attributed to wash trading (self-dealing or funding-loop patterns), 0 to 1."
    },
    "real_buyer_count": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Number of distinct real buyers after wash-trading filtering."
    },
    "repeat_buyer_rate": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Share of real buyers that purchased more than once, 0 to 1."
    },
    "source": {
      "type": "string",
      "description": "Origin of the underlying data, e.g. \"base-settlements\" or \"bazaar-directory\"."
    },
    "updated_at": {
      "type": "string",
      "description": "ISO 8601 UTC timestamp of when this score was computed."
    },
    "confidence": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Objective confidence from rule coverage and data completeness, 0 to 1. Never self-reported by an LLM."
    },
    "delivery": {
      "description": "Result of the most recent real-money delivery probe (mystery-shopper purchase from the disclosed probe wallet). Absent if this subject has not been probe-purchased.",
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "enum": [
            "delivered",
            "failed"
          ],
          "description": "delivered = a real paid test purchase received a valid response; failed = payment was made but no valid goods were delivered."
        },
        "checked_at": {
          "type": "string",
          "description": "ISO 8601 UTC timestamp of the test purchase. Independent of updated_at and may be older."
        }
      },
      "required": [
        "outcome",
        "checked_at"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "subject",
    "verdict",
    "wash_trading_ratio",
    "real_buyer_count",
    "repeat_buyer_rate",
    "source",
    "updated_at",
    "confidence"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_sample_score

Returns a clearly-marked stale sample counterparty score in the exact response schema of score_x402_counterparty (verdict, wash_trading_ratio, real_buyer_count, repeat_buyer_rate, source, updated_at, confidence). Free, no payment required, no input required. Sample data is fixed and expired by design — use it to validate response parsing, then call score_x402_counterparty ($0.02/call) for fresh decision-grade scores.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "description": "The x402 endpoint URL or pay-to address this score is about."
    },
    "verdict": {
      "type": "string",
      "enum": [
        "trusted",
        "caution",
        "avoid"
      ],
      "description": "Decision-grade trust verdict on the counterparty."
    },
    "wash_trading_ratio": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Share of nominal settlement volume attributed to wash trading (self-dealing or funding-loop patterns), 0 to 1."
    },
    "real_buyer_count": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Number of distinct real buyers after wash-trading filtering."
    },
    "repeat_buyer_rate": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Share of real buyers that purchased more than once, 0 to 1."
    },
    "source": {
      "type": "string",
      "description": "Origin of the underlying data, e.g. \"base-settlements\" or \"bazaar-directory\"."
    },
    "updated_at": {
      "type": "string",
      "description": "ISO 8601 UTC timestamp of when this score was computed."
    },
    "confidence": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Objective confidence from rule coverage and data completeness, 0 to 1. Never self-reported by an LLM."
    },
    "delivery": {
      "description": "Result of the most recent real-money delivery probe (mystery-shopper purchase from the disclosed probe wallet). Absent if this subject has not been probe-purchased.",
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "enum": [
            "delivered",
            "failed"
          ],
          "description": "delivered = a real paid test purchase received a valid response; failed = payment was made but no valid goods were delivered."
        },
        "checked_at": {
          "type": "string",
          "description": "ISO 8601 UTC timestamp of the test purchase. Independent of updated_at and may be older."
        }
      },
      "required": [
        "outcome",
        "checked_at"
      ],
      "additionalProperties": false
    },
    "sample": {
      "type": "boolean",
      "const": true,
      "description": "Always true: this response is a sample, not a live score."
    },
    "sample_notice": {
      "type": "string",
      "description": "Machine-readable warning that the data is stale sample data."
    }
  },
  "required": [
    "subject",
    "verdict",
    "wash_trading_ratio",
    "real_buyer_count",
    "repeat_buyer_rate",
    "source",
    "updated_at",
    "confidence",
    "sample",
    "sample_notice"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools