Levels leaderboard
Person-level data (on since 23 Oct 2026): only public accounts that have not opted out (API visibility), never private, banned or suspended accounts, and only content created on or after Decryptr's content date. Authors carry a pseudonymous id (trd_). When content is deleted, hidden or its author leaves, /v1/tombstones lists it: delete your copy within 24 hours. The Levels board: players' average and best scores over resolved rounds in the window (on-time entries, 3 rounds or more). Never drawn paths.
Cost: 1 call per item returned, at least one item's worth. The request first reserves limit x 1 calls (and is refused with 429 if that many are not available), then pays only for what came back.
Needs scope levels:read and the pro plan or above.
AuthorizationBearer <dcr_live_<8 hex>_<43 base64url> or dcr_test_...>Your API key as a Bearer token: Authorization: Bearer dcr_live_....
window?stringRounds that locked in the last 30 or 90 days, or all (Business). Default 30d.
"30d""90d""all"asset?stringAsset symbol, letters and digits, case-insensitive (BTC, ETH, SOL).
^[A-Za-z0-9]{1,15}$limit?integerItems to return, 1 to 100. Your plan allows max_page calls per request (Developer 10, Starter 25, Pro 50, Business 100), so at most max_page divided by this endpoint's calls per item. Default 20, or that maximum if lower. The request reserves limit x calls per item before it runs: ask only for what you need.
1 <= value <= 100OK.
application/json- response
data*array<>as_of*stringWhen the response was made.
date-timewindow*stringThe window asked for.
disclaimer*stringPlain-language notice. Information only, not financial advice.
curl -X GET 'https://data.decryptr.ai/v1/leaderboards/levels?window=30d&asset=BTC&limit=10'{ "data": [ { "rank": 1, "trader_id": "trd_000000000000000000000001", "handle": "sample_user_1", "rounds": 30, "avg_score": 82, "best_score": 97 }, { "rank": 2, "trader_id": "trd_000000000000000000000002", "handle": "sample_user_2", "rounds": 29, "avg_score": 81.2, "best_score": 96 }, { "rank": 3, "trader_id": "trd_000000000000000000000003", "handle": "sample_user_3", "rounds": 28, "avg_score": 80.4, "best_score": 95 } ], "as_of": "2026-10-23T12:29:30.000Z", "window": "30d", "disclaimer": "Historical figures. Past performance is not a guide to future performance. Information only, not financial advice."}One Levels round GET
One Levels round by id. Rounds that have not locked are not found. Cost: 1 call, also when not found. Needs scope `levels:read` and the pro plan or above.
How the crowd drew a Levels round GET
How the crowd drew a locked Levels round: shares up, down and flat and the spread of drawn moves in percent; after resolution, the share that was right and the score spread. Null under 20 on-time entries. Never a path or a price. Cost: 2 calls, also when not found. Needs scope `levels:read` and the pro plan or above.