Verified wallet board
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 verified wallet board of people who share their record: realised profit in the chain's native unit, wins, losses and hold time. No addresses and no USD values.
Cost: 3 calls per item returned, at least one item's worth. The request first reserves limit x 3 calls (and is refused with 429 if that many are not available), then pays only for what came back.
Needs scope traders: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_....
family?stringChain family. Default solana.
"evm""solana""robinhood"window?stringWindow. Default 30d.
"7d""30d""90d""all"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-timefamily*stringThe chain family asked for.
window*stringThe window asked for.
disclaimer*stringPlain-language notice. Information only, not financial advice.
curl -X GET 'https://data.decryptr.ai/v1/traders/wallets?family=solana&window=30d&limit=10'{ "data": [ { "rank": 1, "trader_id": "trd_000000000000000000000001", "handle": "sample_trader_1", "chain_family": "solana", "window": "30d", "wallets": 1, "realized_native": 120, "wins": 40, "losses": 10, "tokens_closed": 50, "win_rate_pct": 70, "median_hold_s": 3600, "computed_at": "2026-10-23T12:00:00.000Z" }, { "rank": 2, "trader_id": "trd_000000000000000000000002", "handle": "sample_trader_2", "chain_family": "solana", "window": "30d", "wallets": 2, "realized_native": 116.5, "wins": 39, "losses": 11, "tokens_closed": 49, "win_rate_pct": 69, "median_hold_s": 3660, "computed_at": "2026-10-23T12:00:00.000Z" }, { "rank": 3, "trader_id": "trd_000000000000000000000003", "handle": "sample_trader_3", "chain_family": "solana", "window": "30d", "wallets": 1, "realized_native": 113, "wins": 38, "losses": 12, "tokens_closed": 48, "win_rate_pct": 68, "median_hold_s": 3720, "computed_at": "2026-10-23T12:00:00.000Z" } ], "as_of": "2026-10-23T12:31:30.000Z", "family": "solana", "window": "30d", "disclaimer": "Historical figures. Past performance is not a guide to future performance. Information only, not financial advice."}A trader's verified prop records GET
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. A trader's public, verified prop firm certificates and prop accounts. Only for people who share their record. Never names, certificate links or credentials. Cost: 3 calls, also when not found. Needs scope `traders:read` and the pro plan or above.
News signal metadata GET
News signals, newest first. Publisher stories: headline, publisher name and link, times, and Decryptr's tags, sentiment, impact and coins; never the article text or the publisher's description. Stories from X: the post link and Decryptr's own summary only; never the post text or the account. Headlines belong to their publishers: show the source and link to it. 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 `signals:read` and the starter plan or above.