One request, one cent,
one on-chain receipt
Every paid route is gated by the OKX x402 exact scheme. No account, no API key, no subscription — the HTTP status code is the paywall, and settlement lands on X Layer in USD₮0 with zero gas.
Probe unpaid
POST /api/grade with no payment. The server answers with a real challenge — price, network, asset, pay-to address.
Sign & pay
The buyer signs an EIP-3009 TransferWithAuthorization (EIP-712, via viem) for exactly $0.01 in USD₮0 and replays the request.
Verified, settled, graded
Signature is verified with real offline cryptography, settlement goes to the OKX Facilitator on X Layer eip155:196, and the grade engine runs.
Re-verify any receipt
Anyone can re-check a settlement for free — POST /api/receipts/verify calls the Facilitator's GET /settle/status live.
Two paid tools, three free ones
Tiered pricing is two entries in one x402 routes map. Free routes stay free under every configuration — that's a tested invariant, not a promise.
Grades one placed bet: clv_grade (A+…F), clv_pct, beat_close, plus the settled truth table for that exact grade band (n, win_rate, roi_pct). No recorded close? You get UNGRADED with a reason — never an invented number.
The full CLV dossier: per-bet grades, beat-close rate, grade distribution, weighted expectancy, and an origin-disclosed Sharp Score (0–100) — the direct answer to raw-P&L leaderboards.
The full grade→outcome truth table plus the exact methodology text — computed live from the settled ledger, not hardcoded prose. This is what makes every paid grade auditable.
BuyerLens-lite: your own grading history, keyed off your X-PAYMENT signature. Payment identity doubles as login — no accounts anywhere.
Re-check any settlement tx against the OKX Facilitator's GET /settle/status. Receipts stay verifiable without trusting CLV Scout.
Wrong verb, honest answer. The self-check gate is four curls: 402, 402, 405, 200 — reproducible by any judge in ten seconds.
+12% raw ROI.
Sharp Score 40.7/100.
No users to quote yet — this is a hackathon build, so here are signals you can recompute instead. A tout posts his last 5 World Cup moneyline picks: 3 wins, 2 losses, +12.0% raw ROI on flat stakes — looks like someone worth following. Feed the exact same 5 picks to /api/audit ($0.20) against the real, settled closing-line ledger:
{
"graded": 5,
"beat_close_rate": 0.2,
"grade_distribution": { "A+": 0, "A": 1, "B": 0, "C": 1, "D": 2, "F": 1 },
"weighted_expectancy_pct": -22.14,
"sharp_score": { "value": 40.7 },
"verdict_line": "Sharp Score 40.7/100 — the record may look fine on raw P&L, but the numbers that predict future results say otherwise."
}
Every number above is genuine output from this build against the 24-row settled seed ledger — nothing scripted or hand-typed. The Sharp Score recomputes from its published sub-scores (tested invariant), and the grade bands are fixed round-number CLV cutoffs decided up front, not curve-fit to the seed data.
Why ONLY OKX
The grader is portable. The economics are OKX-specific — take OKX out and the product dies at the till.
$0.01 with real settlement
The SDK turns a one-cent USD string into atomic USD₮0 and the Facilitator settles it on X Layer per call. On a general-purpose EVM rail, a $0.01 payment is un-economic the moment anyone pays gas.
Zero-gas USD₮0 promo
The USD₮0 zero-gas promo (0x779ded0c…3736) makes the buyer's marginal cost exactly one cent — the only thing that makes "audit a tout's last 25 picks for $0.20" a rational agent action.
Tiered pricing = config
"$0.01" grade and "$0.20" audit are two entries in the same x402 routes map. Multi-route pricing costs a config block in one middleware — not an integration.
Public sold counts
The marketplace shows sold counts publicly, so the 1¢-volume thesis is verifiable by judges without trusting us.
Shared v2 modules
Same exact/EIP-3009 wire as the primary listing, plus X-PAYMENT-identity BuyerLens and Facilitator GET /settle/status receipt re-verification.
A road past one cent
Tier-2 grade-stream targets the aggr_deferred batch scheme: Session-Key signing, TEE aggregation, one on-chain tx for tens of calls a minute at $0.005 each — a stack that doesn't exist elsewhere.
Run the interactive demo locally
# git clone https://github.com/edycutjong/clvscout && cd clvscout npm install npm run settle # CLV% + grade per row + truth table -> fixtures/ledger-settled.json npm test # 124 vitest, fully offline npm run api # boots on :4021
Then open http://localhost:4021/ — a served visible proof page (web/index.html) that drives the live paid API. Every button fires a real x402 round-trip: probe → 402 → sign EIP-3009 → pay → 200 — signed server-side with a throwaway key, because browsers can't sign. Nothing on that page is mocked either.
curl -i -X POST http://localhost:4021/api/grade # -> 402, x402Version:2 curl -i -X POST http://localhost:4021/api/audit # -> 402, x402Version:2 curl -i -X GET http://localhost:4021/api/grade # -> 405 curl -i -X POST http://localhost:4021/api/calibration # -> 200, live truth table
Every paid route answers an unpaid curl with a real 402 challenge. npm run readiness boots an ephemeral instance and runs this exact check (plus truth-table sum invariants) for you.
npm run buyer POST /api/grade '{"match":"NED vs URU","selection":"Netherlands to advance","odds_taken":1.88}'
The buyer script probes the route unpaid, reads the 402 challenge, signs a real EIP-3009 TransferWithAuthorization locally with a throwaway key, and replays with X-PAYMENT. Signature verification on the server is real offline cryptography (viem's recoverTypedDataAddress) — with OKX Facilitator keys set, settlement goes live to X Layer; without them, it's recorded as an honestly-labeled local-pending receipt.
FAQ
Short, honest answers — the same ones a judge would get.
CLV compares the odds you took against the market's final (closing) price. Beating the close consistently is one of the few widely accepted predictors of long-term betting skill; win/lose on any small sample is mostly noise. That's the whole product: you can win the bet and still be wrong — CLV Scout grades the decision, not the outcome.
No — and it doesn't pretend to be. This is a static GitHub Pages site with zero fetches, so it cannot run the API. The real interactive demo runs locally: npm run api boots the server on :4021 with a visible proof page that fires genuine x402 round-trips. Everything shown here (the 40.7 Sharp Score, the audit JSON) is real, unmodified output from that build.
$0.01 per single-bet grade (/api/grade), $0.20 per audit of up to 25 bets (/api/audit). Payment is the OKX x402 exact scheme: your agent signs an EIP-3009 TransferWithAuthorization in USD₮0 and replays the request with an X-PAYMENT header. Settlement lands on X Layer (eip155:196) under the zero-gas promo, so the marginal cost really is one cent. Calibration, /api/me and receipt verification are free.
No accounts anywhere. Your X-PAYMENT signature is your identity — /api/me returns your grading history keyed off it. USD₮0's zero-gas promo means no native-token balance is needed to pay. The local demo signs with a throwaway key, so judges need Node.js ≥ 20 and nothing else.
You get UNGRADED with an explicit reason — never an invented number. The current build covers World Cup 2026 knockout markets by design (a narrow, fully settled ledger beats a wide, guessed one), and every calibration response states that coverage plainly.
Yes. POST /api/calibration is free and returns the full grade→outcome truth table plus the methodology text, computed live from the settled ledger. Grade bands are fixed round-number CLV cutoffs decided up front (not curve-fit), and the Sharp Score recomputes from its published sub-scores — both are tested invariants in the 124-test suite.
Free and trustless: POST /api/receipts/verify re-checks any settlement tx against the OKX Facilitator's GET /settle/status live. Running locally without Facilitator keys, payments are recorded as honestly-labeled local-pending receipts — the build never fakes a settlement it didn't make.
Yes — the JSON above is a genuine, unedited /api/audit response from this exact build run against its 24-row settled seed ledger. Five picks that show +12.0% raw ROI grade out to a 40.7/100 Sharp Score with −22.14% weighted expectancy. You can reproduce it end-to-end with npm run settle && npm run api and the buyer script.