Recipe β Leaderboard screen
A leaderboard answers "who should I copy?". There is deliberately no single /v1/leaderboard endpoint β three different products hide behind that word, and each has its own call. Pick by where your candidates come from.
The calls
Discovery (no input): our proven-wallet set.
GET /v1/trader-board?chain=eth&limit=20
Returns the Smart Money Radar's persisted, self-scored wallet set ranked by mirror-worthiness β wallets our engine discovered and validated on-chain. Zero input, grows on its own. This is the default "top traders" screen.
Rank your own candidates.
POST /v1/trader-leaderboard
{ "chain": "eth", "wallets": ["0xβ¦", "0xβ¦"] } # up to 25
Same trader engine, but over wallets you supply β your users' follows, a venue export, a watchlist. Returns them ranked with rank, grade, score, verdict, subscores.
Venue leaders, graded (perps + spot copy execution).
GET /v1/copy/strategies?chainId=8453 # strategy catalogue, leaders graded
GET /v1/copy/top-traders?chainId=8453 # spot leaderboard, graded
The copy-execution catalogue with every leader wallet run through the same grading engine β the venue shows raw PnL, intel.grade shows whether a follower can actually mirror it.
Fields worth rendering
- Name
grade- Type
- 'A'β'F'
- Description
The one-glance answer. Tone it: A/B positive, C/D caution, F negative.
- Name
verdict- Type
- string
- Description
mirror-worthy/watch/avoidβ the recommendation in a word. Badgemirror-worthy; it is the minority that survived the gates.
- Name
score- Type
- number 0β100
- Description
For ordering and deltas, not for headline display β the grade is the display.
- Name
subscores- Type
- object
- Description
winRate/profitability/consistencyβ the "why" behind the grade, good as a tooltip or expandable row.
- Name
confidence- Type
- number 0β1
- Description
How much history backs the score. Below ~0.5, visually soften the grade.
UX rules
- Grade over PnL. Venue leaderboards rank by PnL, and on a live pull 25 of 40 ranked leaders had zero trading volume β nothing to mirror. If you show raw PnL, show it next to the grade, never instead of it.
- An empty board is a state, not a bug.
trader-boardon a fresh deployment returns an empty set with anoteβ render the note ("refresh the radar to seed the set"), not a spinner. - Click-through goes to the Trader page. A leaderboard row is a teaser; one tap should open the full dossier via
wallet-overview.