Every trial response from the pilot endpoints carries two vote links: thumbs up and thumbs down. One plain fetch casts the vote — no key, no payment, no request body. One vote per caller IP per endpoint per UTC day; voting again the same day replaces your earlier vote, so a tally can move but never double-counts. The tallies below are public: they are the fleet's first quality signal on trial traffic, which until now was measured by volume only.
Honesty rule: every tally is split external vs internal. Votes from self-infra addresses (loopback, private ranges, the tailnet, the fleet's own hosts, the operator sandbox) are recorded but flagged internal and are never presented as external buyer signal. The external columns below count only non-internal IPs.
Loading tallies…
| Form | Request |
|---|---|
| Plain GET (the links in trial responses) | GET /clinic/trial-feedback/vote?endpoint=<slug>&v=up — or v=down |
| POST JSON | POST /clinic/trial-feedback with body {"endpoint": "<slug>", "vote": "up"} |
| Read tallies | GET /clinic/trial-feedback (fleet-wide) or GET /clinic/trial-feedback?endpoint=<slug> (one endpoint) |
Trial-response pilot: trial responses from the 3 pilot endpoints (chain, markdown, stocks) carry a compact _feedback field with that endpoint's two vote URLs and the tally URL. The other endpoints were not patched.
GET https://api.mekongtradeintel.com/clinic/trial-feedback/vote?endpoint=chain&v=up
-> { ok, recorded: true, endpoint: "chain", vote: "up",
internal: false, replaced: false,
tally: { votes, up, down,
external: { votes, up, down },
internal: { votes, up, down } } }
GET https://api.mekongtradeintel.com/clinic/trial-feedback
-> { ok, totals: { ... }, endpoints: [ { slug, price_usd,
tally: { ... }, vote_links: { up, down, tally } } ] }
Cheapest-answer routing — state a need, get the cheapest route · Price comparison — every endpoint's live price in one table · Buyer dashboard — everything the fleet knows about your wallet · Paid-receipt webhook — a receipt pushed to your URL for every payment