Who appears
A wallet is on the board when both of these hold:- It is in the maintained universe. Wallets enter it from a leaderboard page published by Ballista’s market-data provider, from Ballista’s own live trade feed, or by being added by hand — a pasted address or a wallet somebody backtested. A wallet that rotates out keeps its row and its history but stops being a candidate to copy.
- It has traded recently. The activity filter is applied on the server and cannot be switched off. The terminal offers 7, 30 or 90 days, defaulting to 30.
Small active traders are found too. A provider leaderboard ranks lifetime P&L,
so it cannot see a wallet that started printing last month, and Ballista’s own feed
notices any wallet trading in modest size rather than only the whales. A wallet
found that way arrives unranked, in a reserved pool that cannot displace a
measured wallet, and becomes rankable once the harvest has measured a 30-day P&L
for it — the same bar every other candidate clears. The funnel is wider; the
quality gate is not lower.
A wallet with no recorded activity at all fails the filter. “We have never
established that this wallet is active” is not “this wallet is active”, and
admitting unknowns would put the entire unmeasured tail of the universe onto a
board that promises recency.
What it ranks on
One transparent metric at a time. There is no composite score, no weighted blend and no proprietary index. You pick a column, the row carries the value that column was sorted on, and a wallet’s position is always explainable from what is on screen. The sortable columns are:
Every one is more-is-better, so a newly clicked column starts descending.
Why the default is 30-day P&L
It used to be lifetime realized P&L, which led the board with wallets that made tens of millions two years ago and have been idle or bleeding since — a number nobody can follow into a trade. Lifetime realized P&L is still a column, and it still breaks ties in the rank, but it is no longer the first thing the board answers with.The # column is a maintained rank on 30-day P&L, not the row order. Sort by
anything else and it will not run in sequence — that is expected.
Where the numbers come from
The recent-performance block — 30-day P&L, 7-day P&L and the trend line — is computed from trade tape Ballista harvests itself, settled the way the backtester settles. It is not an upstream P&L feed. Positions still open are not in it, so these are realized figures over the window. The 30d trend sparkline is cumulative P&L over the last 30 days, one point per UTC day, from that same tape. It appears on the leaderboard row and on the trader profile, and only for wallets whose tape has been harvested.Copy friction on the board
Two more columns describe what copying a wallet would cost rather than what it earned. The Slip column is the share of the wallet’s own 30-day profit that copy friction — 1% slippage per fill plus the real taker fee schedule — would take, measured by replaying its own fills over the same markets its 30-day P&L is computed from. The value is already a percentage. Beside the wallet, a toxic badge marks a measured wallet that loses 25% or more of its recent profit to that friction. It is a server-side verdict, and it appears only for a wallet that was both measured and judged — never derived from the number in the Slip cell. Choosing a trader explains the measurement, the guards behind a blank, and what to do about a toxic wallet.Slip is not sortable, deliberately. It is blank for most of the board until
those wallets’ recent markets settle, and ordering a board by a column two rows in
three have no value for would rank the measured against the unmeasured. The same
applies to the rank, wallet, trend, positions and taker-share columns: a column with
no server-side sort key is not clickable rather than clickable and quietly wrong.
Blank is not zero
Every statistic on the board can legitimately be unmeasured, and a dash always means unmeasured rather than nil.
The sweep walks the whole universe and re-harvests a wallet’s tape about once a
day, so a blank on a board wallet usually fills itself in without you doing
anything. Viewing a trader’s profile never starts a harvest; running a backtest on one
does, straight away.
Filters
Beyond the activity window, three optional floors narrow the board:- Min P&L — a floor on total P&L. May be negative; “show me everyone above −1000” is a real query.
- Min volume — a floor on lifetime volume. Must not be negative.
- Min positions — a floor on position count. A whole number, not negative.
Every column on this board stands on its own. There is no overall grade and no
composite score anywhere on it — a blended number would bury the disagreement
between two columns, such as a large 30-day P&L next to a toxic slip rate, which is
the most useful thing the board can show you.
What to read next
Trader profiles
What a row expands into.
Choosing a trader
Whether a wallet at the top of the board can be copied at all.
Backtesting
Test a candidate against your own configuration.
The leaderboard screen
Using it in the terminal.
