Copy Trading 6.1.8
2 August 2026
This release has upgrade notes. Read them before updating — they describe behaviour changes that need your attention.
Copy Trading v6.1.8
Release Date: August 2, 2026 Tags: ADMIN, DASHBOARD, FOLLOWER CAPITAL, ALLOCATIONS, LEADERS, REPLICATION, MONITORING, REPORTING, CURRENCY, DESIGN SYSTEM, LOADING STATES, LICENSING, BUG FIXES
Overview
Version 6.1.8 rebuilds the copy-trading admin dashboard and changes what it is for.
It used to open with four platform totals — revenue, allocated, volume, trades — that describe how big the product is. None of them answers the question this console exists to answer, which is whether follower capital is safe: every allocation on the page is money held on trust.
The same total is now split by the state the money is in — being traded, paused by the follower's own choice, sitting behind a leader who has stopped trading, or stranded behind one who cannot trade at all. Two of those four states do not exist in the database; both are now derived on the server, and both get a named row, a figure and a reason.
Four figures on this page change, three of them because the old value was misleading — read Upgrade Notes before comparing anything against what you recorded last week.
Update Instructions
pnpm updatorThe update is routine. There is no schema change, no new setting and no new permission — the dashboard is still behind the same copy-trading view permission it always was, so nothing needs granting per role.
Two things change on their own, both corrections to how figures are printed rather than to how they are calculated, and one number on the page was never a ranking. All three are in Upgrade Notes.
Upgrade Notes
Follower capital, revenue and volume no longer carry a dollar sign — check what yours are denominated in
Allocations are recorded in the quote asset of their own market, so a book holding BTC/USDT and ETH/BTC was adding USDT to BTC. The dashboard summed that column and printed a $ in front of the result. Platform revenue did the same over profit-share entries, which are booked in whatever the trade's quote asset was.
- Changed: the server now reports which quote asset the figures are in. When the whole book agrees on one, the figure carries that ticker. When it spans more than one, the figure renders bare and the page says how many assets it covers, because a correct sum of a column is still not an amount in any currency.
Total volume was printed in thousands whatever its size
- Changed: total volume was rendered as the raw figure divided by 1,000 with a
ksuffix and a dollar sign, so 1,500,000 was displayed as$1500.0kand 500 as$0.5k. It is now compacted properly and printed bare, with today's volume beside it.
"Top Leaders" was five arbitrary leaders, not the top five
The card asked the database for five active leaders with no ordering at all, took whatever five it was handed, sorted those five among themselves by follower count, and rendered them as ranks 1 to 5 with trophy marks on the first three.
- Changed: the ranking is now computed across every eligible leader before anything is limited to five, so the rows are genuinely the five active leaders with the most active followers. Each row also shows how much follower money that leader is responsible for, which is the reason to care who is at the top of the list.
The 100-point health score is gone from the dashboard
- Changed: the score was 100 minus fixed penalties for the failure rate and the queue depth — a composite with no unit that nobody could act on. Both of its inputs are real, and both are now printed as themselves, next to a count of copies that failed today and the five most recent failures with the engine's own message for each.
Added
The dashboard says which state follower capital is in
- Added a capital meter across the top of the console splitting the allocated book four ways — being copied, paused by the follower, behind a dormant leader, and stranded — with each band's share and amount beside it. The bands are computed in one pass on the server and sum exactly to the total in the tile below, so the meter and the table cannot disagree about the same money.
- Added dormant as a reported state. A leader who has not opened a trade in 7 days is still marked ACTIVE and still holds follower allocation; nothing in the addon showed that before. The threshold is sent with the figures and printed on the page, so the definition you read is the one the bands were computed with.
- Added stranded as a reported state, covering money behind a leader who cannot trade — suspended, rejected, still pending, removed — and money still held against a follower who has stopped copying and whose allocation was never released. The two are separate reasons because they need different actions: reinstate or refund the leader's followers, versus a teardown that did not finish.
- Added a headline alert counting the capital that is not being traded and the number of leaders holding it, above everything else on the page.
- Added how much of the allocated total is locked in open trades right now, alongside the total itself.
- Added a count of followers whose closed copies net out negative, with their combined realised result. This is a true count over every closed follower trade, not a scan of the most recent ones.
One row per leader whose followers' money is sitting still
- Added a table ranked by the amount of follower money held still, naming for each leader the reason, the number of followers behind it, the capital, and how many days since their last trade — or Never, for a leader who has never traded at all.
- Added an explicit "showing 8 of 23" line when there are more such leaders than the table renders. A cap that is not reported reads as "this is everything".
- Added click-through from every row to that leader.
Replication failures are visible without leaving the page
- Added a count of copies that failed today, beside the queue depth and the failure rate that were already there. A follower whose copy did not fire has silently missed a trade their leader took, and the only previous sign of that on this page was a percentage moving.
- Added the five most recent failures, each showing the market, the amount and the engine's own error message. The raw database status is never shown as the message — it is a value, not a sentence.
- Added a plain "nothing failed today" line for the ordinary case.
The page says how fresh it is
- Added a provenance rail above the title carrying a live / updating / stale indicator, the time the figures were built, and the quote asset they are denominated in.
- Added a 30-second refresh, which runs only while the tab is actually visible — this page aggregates the whole allocation table, and every admin leaves it open in a background tab.
- Added an age in days on every pending leader application, oldest first, because a queue that arrives without you asking for it needs one.
Changed
The dashboard shows fewer numbers, each of which can be acted on
- Changed the eight headline tiles across two rows to four, each linking through to the rows behind it: follower capital, capital not being traded, pending applications, and platform revenue. Population and lifetime counters — leaders, followers, today's trades, total trades, total volume, followers down on the copy — moved to a single counter row below the working part of the page.
- Changed the leader-growth and follower-growth chips out of the page entirely. Both compared a running total against the same total a week ago, on counts that only ever go up, so they were non-negative by construction — a permanently green percentage no decision has ever turned on.
- Removed the hero banner with its two gradient orbs and six floating particles, the eight-item shortcut grid duplicating the navigation directly above it, and the per-row hover animations.
- Removed the recent-trades list from the dashboard, which restated the trade table. The space is now the replication failure panel, which is the thing an operator opens this page to check.
A failed refresh no longer takes the console away from you
- Changed the dashboard so a failed background refresh leaves the last good figures on screen, marks the top rail stale, and says so in a notice — rather than clearing the page. A dashboard that is true as of a stated time is worth more than an empty one.
- Changed a failed first load to take over the page instead of sitting as a banner above it. The body previously stayed mounted under the error, rendering a full console of zeroes — every one of them a claim the page could not support — and the retry now sits with a link to the leader registry, which still works without this data.
- Changed the dashboard to stop raising an error toast on every failed poll.
Loading is now a state of these pages, not a replacement for them
- Changed the dashboard, the system health page, the audit log and the leader detail page so their headings, labels, icons, borders, table headers, tab bars and card frames render immediately, and only the figures wait. Each placeholder is measured from the text it stands in for rather than from a hand-typed height.
- Changed the audit log, which replaced its whole timeline with a spinner in a small box. Twenty event cards then arrived at once, taking the page from roughly 200px to roughly 3,000px in a single frame and carrying the pagination bar the whole distance with it.
- Changed the leader detail page, which discarded its back button, profile card, six-tile figure row and tab bar behind a centred spinner and rebuilt about 700px of knowable layout when the record landed. Its follower and trade tabs also treated "still loading" and "this leader has none" as the same thing, showing an empty-state illustration that was then replaced by a table.
- Changed the system health page, which did both halves at once: a full-viewport spinner on the way in, and a body that stayed empty until the payload arrived. It also polls itself every 30 seconds, and its placeholders no longer flash on each poll — the last reading stays put and is replaced in place.
Figures are formatted consistently and honestly
- Changed every grouped number on the dashboard to a fixed format. Six of them previously took their separator from the machine that rendered them, so the same value read
50,000from the server and50.000in a browser set to a European locale. - Changed money to be printed only where the payload can name a denomination. Realised profit and trade volume are per-trade quantities in each trade's own quote asset — a different population from the allocations — so they render bare with the column or caption naming what they are.
- Changed the trading-style bars, which painted three of the four styles the same colour and the fourth in the warning colour, reading as though one of your four trading styles was a problem. Style is an identity, not a state, so the four now take four distinct chart colours; risk grade keeps status colours because risk genuinely is a state.
- Changed the distribution bars from animated widths to plain ones. They re-grew from zero on every refresh, and width is the one property that forces a layout pass per frame.
Fixed
Three headline figures were labelled with a currency the data never had
- Fixed follower capital, platform revenue and total volume being rendered with a dollar sign over sums that span whatever quote assets your markets use. The figures now carry the real ticker when the underlying rows agree on one and are printed bare when they do not, with the number of assets stated. See Upgrade Notes.
Total volume was written in thousands at every size
- Fixed total volume being divided by 1,000 and suffixed with
kregardless of magnitude, so a volume of 1.5 million was shown as$1500.0k. See Upgrade Notes.
"Top Leaders" ranked five leaders picked at random
- Fixed the top-leaders card requesting five active leaders with no ordering, sorting those five among themselves, and presenting the result as a ranking with trophy marks. The ranking is now computed over every eligible leader before the limit is applied. See Upgrade Notes.
A licence check in flight blanked the entire copy-trading admin
- Fixed the licence gate wrapping the site header, the navigation and the footer as well as the content. While the check was in flight the whole area was a single centred spinner — no header, no nav, no way out — instead of the page chrome with its content pending. Only the content is gated now.
- Fixed the page frame not reserving full height, which left the footer's position dependent on how tall the data made the page, so it travelled down the screen as the console filled in.