# How we test

Every number on Hagglyai comes from public catalogues or our own checks, and this page says exactly how. If a method changes, this page changes first.

## The process

1. Every 6 hours we read the catalogues listed under Where the listings come from, below.
2. We keep the endpoints that fit one of our categories and put each price on the same unit. Most catalogue entries are tests or filler, so most are dropped.
3. Every 15 minutes we send unpaid requests to the endpoints due a check. A healthy endpoint answers 402 Payment Required with valid payment details. MCP servers get the MCP initialize handshake every 6 hours.
4. Every hour we recalculate each endpoint's score from the last 7 days of checks.

## Where the listings come from

- **Coinbase x402 Bazaar**: Pay-per-call x402 endpoints, with each one's paid calls and paying wallets over the last 30 days. Primary.
- **PayAI**: x402 endpoints listed by the PayAI facilitator. Primary.
- **MCP Registry**: The official registry of remote MCP servers, shown beside the paid endpoints as alternatives. Primary.
- **Apify Store**: Actors that agents can pay for over x402, with 20 or more users a month. Run counts and success rates are Apify's own. Primary.
- **x402 List**: Services submitted to the x402 List directory. Its data is licensed CC BY 4.0. Secondary.
- **pay.sh**: The x402 endpoints in the pay.sh provider registry. Secondary.
- **thirdweb**: The thirdweb x402 facilitator's own catalogue. Secondary.
- **Dexter**: The Dexter x402 facilitator's own catalogue. Secondary.
- **UltravioletaDAO**: The UltravioletaDAO x402 facilitator's own catalogue, with paid calls over the last 30 days. Secondary.
- **Other x402 facilitators**: Catalogues of further x402 facilitators, added automatically when the daily check of the open-source facilitator list finds one that lists x402 endpoints. Secondary.
- Primary catalogues win: when two list the same endpoint, the primary listing is used. Secondary ones add endpoints the primary ones miss, and never overwrite them.
- Every day we check the open-source list of x402 facilitators, published by Merit Systems under the MIT licence, for new facilitators with a public catalogue. One whose catalogue lists x402 endpoints is added as a source the same day, as a secondary catalogue: it never replaces a listing the primary catalogues have.

## What a check proves, and what it doesn't

- Checks never pay. They show whether an endpoint is up, how fast it answers, and whether its live price and payout wallet match the listing.
- Checks don't prove the provider delivers after payment. Graded test purchases, with a receipt for each one, are the next thing we're building.

## The score (0–100)

What makes up the score:

- Availability (40%): The share of checks in the last 7 days that got a valid 402.
- Adoption (30%): Unique paying wallets in the last 30 days, as reported by the catalogue, on a log scale (500 or more is full marks).
- Consistency (15%): The share of good checks whose price and payout wallet match the listing.
- Latency (15%): Median response time. 400 ms or less is full marks; 4 seconds or more is zero.

- Consistency and latency count in proportion to availability, so an endpoint that's mostly down earns little for being fast when it's up.
- On the site the score is shown as 1 to 5 stars: stars = 1 + score ÷ 25, to one decimal place, so 0 is 1 star, 50 is 3 and 100 is 5. The JSON API, markdown and MCP tools give the 0–100 score itself.
- Apify actors can't be checked without paying, so they are scored from Apify's own figures: availability is the share of runs that succeeded in the last 30 days and adoption is monthly users, with the same weights scaled to 100 and capped at 90, as their speed and price consistency are unverified. They are marked as reported by Apify, need 20+ runs to be rated, and are never the Hagglyai Pick.

## Warnings, the Hagglyai Pick and Popular

- Few repeat buyers: 20 or more payers but under 1.2 calls each. Real customers come back; a crowd of one-time payers usually means crawlers or volume farming, so adoption counts half.
- Unusual seller traffic: Across the whole catalogue, the seller gets paid calls on two or more trivial endpoints (ping, uuid, time and the like), or three or more of its paid endpoints have near-identical payer counts. Nobody genuinely pays for a ping, and identical counts suggest one group of wallets sweeping every listing, so adoption counts half.
- Test or demo listing: The name or host says test, demo or staging, or the route is an obvious test route. It still appears in results, but it is never the Pick.
- Wallet mismatch: The payout wallet in the live 402 answer differs from the catalogue listing. We compare on the listing's own network, because sellers that accept several networks use a different wallet on each.
- Price mismatch: The live price differs from the catalogue listing on the same network.
- Hagglyai Pick: Goes to the cheapest endpoint in a category that scores 70 or more, was checked in the last 7 days, has repeat buyers (at least 5 paying wallets averaging 1.5 or more calls each) and carries no warnings. If nothing qualifies, there's no Pick.
- Most popular: Goes to the endpoint with the most paying wallets in the last 30 days (Apify: monthly users) among the results you are looking at, with more calls breaking a tie. It needs at least 5 paying wallets and no warnings. Popular is not the same as best value: check the score too.
- Popular: Goes to the second and third by paying wallets, on the same terms. An endpoint carrying a warning loses its label and nobody moves up, so a label always means its real place. The label shows on the cards on the page; agents get the same three from the MCP tool most_popular.

## How we make money

- We don't yet. Hagglyai is free for people and agents while we build it.
- If we ever take affiliate or sponsored money, those offers will carry a visible Sponsored label and keep their earned position. Rankings never move for money.
