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
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httpWhat it can do
Tool inventory
Tools (2)
š¢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
Evidence