Methodology

This page documents how x402 Counterparty Score computes every field it sells, what data it reads, and where its limits are. A service that sells trust judgements must itself be verifiable: every rule below is deterministic (graph rules over public data — no LLM inference anywhere in scoring), so any third party with the same public data can recompute and check a score.

What the score claims — and does not claim

The score measures economic authenticity: how much of a counterparty's settlement volume comes from real, independent buyers after filtering wash trading. It is a 30-day statistical judgement, not a real-time liveness monitor and not an audit of the counterparty's code or team. A trusted verdict means the on-chain evidence is consistent with real demand; it is not a guarantee of future delivery.

Scoring rules

Three public data feeds enter each score:

Wash-trading detection

Two deterministic graph rules mark settlements as washed:

  1. Self-dealing (one-node loop): the paying wallet is the seller's own pay-to address.
  2. Funding-loop (two-node loop): the seller has transferred funds to a buyer wallet at any point in the window; all purchases from that buyer are counted as washed.

Deliberate strictness: rule 2 also catches legitimate refunds, which are then misclassified as wash trading. We accept this false-positive bias — deterministic and verifiable beats generous and unfalsifiable for a trust metric. Known limitation: multi-hop funding loops (three or more wallets) are not yet detected; the wash-trading ratio is therefore a lower bound.

Metrics

Verdict thresholds

Confidence

confidence is an objective data-completeness measure — a fixed weighted sum of which input feeds were available for this subject, never self-reported by an LLM or any other model:

A score computed from all three feeds has confidence 1.0; a score with settlement data missing can be at most 0.4. Low confidence means missing data, and missing data never convicts: it caps the verdict at caution rather than forcing avoid.

Data sources and licensing basis

No commercial API data is resold; no raw data is forwarded — only judgements computed from it are sold.

Freshness, coverage, and failure honesty

Scores are recomputed on a recurring schedule and carry their computation time in updated_at. Answers older than 24 hours are never sold. The catalog is processed in bounded batches, so coverage is partial: a subject that has not yet been scored gets the ANSWER_UNAVAILABLE envelope (503 semantics, with a machine-readable retry_after), not an improvised answer.

The pipeline is fail-closed: if an upstream feed fails validation, the affected scores are delisted rather than re-served with a fresh timestamp. When any error envelope is returned, no payment is settled — an unavailable answer is never charged for.

Probing disclosure

To verify that a counterparty can deliver today, this service probes catalogued endpoints in three layers, acting as a buyer over the public protocol:

Probe wallet address
TBD — the independent, small-balance wallet used for L3 purchases will be published here before L3 activates.

Probing disciplines: probe purchases are self-marked in our own data and are not counted toward the target's real_buyer_count; probe responses are handled as untrusted input; and this service will never probe-purchase its own tools.

Bootstrap settlement disclosure

The x402 Bazaar only indexes a service after its first successful settlement. To be discoverable at launch, this service will perform a single disclosed bootstrap settlement: one real x402 payment to score_x402_counterparty from a wallet we control. This is the only transaction of its kind, and it is governed by five published disciplines — violating any one of them would make it wash trading:

  1. The bootstrap wallet address is disclosed on this page and the transaction hash is published here once executed.
  2. Our own score self-marks it: the transaction is excluded from our own real_buyer_count, and our public score honestly shows the bootstrap transaction's existence.
  3. It happens once and is never repeated. Staying indexed requires real third-party settlements; if none arrive, we accept delisting rather than repeat a self-purchase.
  4. The transaction is never used in any claim of existing sales or adoption.
  5. The transaction executes in the same change that publishes its disclosure — no transact-first, disclose-later.
Bootstrap wallet address
0xAcf3944E771Ea8e662b2c2c9622D8B5299eBf1d3
Bootstrap transaction hash
0x9b29f10ffd9ac21136da31fa0780cdbed5ade48d2e58028bcb60ca4ab4b66b97

The wallet address was published ahead of execution; the transaction hash above was filled in the same change that executed the bootstrap settlement on 2026-07-10 (discipline e: no transact-first, disclose-later). It settled $0.02 USDC on Base mainnet and is the only transaction of its kind, ever.

Scoring ourselves

This service's own pay-to address is in its own catalog data, so it scores itself by the same rules. Scores about ourselves carry a ;self=true marker in the source field, the bootstrap settlement is excluded from our own real_buyer_count, and a low real_buyer_count on our own score is an honest state, not an error.