Real results from 9 live paper-trading market-making bots — 8 pairs on MEXC, 1 on WEEX — each independently quoting a resting bid/ask spread and recording every fill against real market prices. Updated in real time. No survivorship bias — every trade is recorded.
Last updated: 2026-08-26 — see changelog
Every pair on this page is currently in Paper validation — quoting real market prices with simulated fills. Before any pair is ever offered on real capital, it moves through Under stress-testing (toxic-flow shocks, negative controls, and execution-cost modeling) and then Staged live (small real capital, tight limits) — see How We Validate below for what's actually been run so far. Nothing here has reached those later stages yet; this banner exists so a future transition isn't a sudden, unexplained change.
Every fill in this cohort is sized at a fixed $50 notional (both exchanges, see Per-Pair Results below) — "Realized P&L" is the total $ profit across all trades, the same total plotted in the Pooled Cumulative P&L chart below. Divided by the total $ actually put at risk (trades × $50), that dollar total is equivalent to the plain average of every individual trade's own % return — not a sum of the 9 pairs' cumulative percentages, which would overstate the result by treating $50 as reused capital instead of what it is, a fresh stake each trade. Avg/Best/Worst Trade below are that same per-trade % return, the right unit for a single fill.
Dollar terms, not %, at $50/trade — the curve grows by each trade's own $ profit/loss as it closes, so it's directly comparable across pairs with different trade counts. "Realized P&L" above is this same total.
Running win rate across the combined trade sequence of all 9 pairs, ordered by close time — same "cumulative since start" logic as the P&L chart above. "Win Rate" above is this same figure.
Sharpe and Sortino below are computed per-trade (mean ÷ stdev of individual trade % returns, pooled across all 9 pairs) and are not annualized — trades fire on fills, not on a fixed schedule, so scaling to an "annual" number here would imply false precision. Read them next to the sample size shown, not as a standalone number.
MEXC pairs run 0% maker / 0.05% taker fees; WEEX pairs run 0.1% maker / 0.1% taker — both already baked into each trade's net % below, not shown as a separate line. Click a column header to sort.
| Pair | Exchange | Status | Days Live | Trades | Win % | Net % | Best | Worst | Open |
|---|
Pooled across all 9 pairs — trades closed and positions open in the trailing 24h window. Same dollar-weighted $50/trade methodology as the rest of this page.
—
| Pair | Position | Entry | Last-Bar Price | Unrealized P&L | Time Open |
|---|
| Pair | Position | Gross % | Fee % | Slippage | Net P&L % | Reason | Closed |
|---|
Complete round trips are both legs resting as maker limit orders (they fill exactly at the posted price, or not at all — zero slippage by construction). Forced closes are the max-hold-window exit, a real taker market order — see the slippage note in How We Validate below.
Before a pair gets a slot on this page — and long before it would ever touch real capital — it goes through the same methodology every time. Everything below is a specific, already-run diagnostic against this cohort's own source systems (crypto_mm_mexc / crypto_mm_weex), not a description of a process we intend to run someday. See Methodology for the plain-language overview of these same stages.
Pass/fail thresholds — minimum fill count, win-rate floor, forced-close severity ceiling — are written down in each source repo's GATE.md before a pair is added to live paper trading, not chosen afterward to fit whatever result came back. If a pair misses a gate, that's a recorded kill in that repo's KILL_LOG.md, not a reason to move the goalposts.
Every pair's real fill-adjusted monthly net is compared against two baselines built to have no real edge: random-entry timing and a shuffled-price series, run through the same spread/fee/hold-window rules, on a fresh kline pull (30 trials per control, seed 42). A pair has to beat both, not just be net positive, or the result is treated as noise. This re-runs weekly, not once and forgotten.
Result: 8/8 pairs beat both controls — the strongest margin was +110.7%/mo vs. −1.2%/mo and −115.6%/mo; the weakest margin was +10.2%/mo vs. −16.8%/mo and −37.5%/mo — still a clear pass on both controls for every pair. Source: crypto_mm_mexc/docs/NEGATIVE_CONTROL_WEEKLY.md.
The original 7 live MEXC pairs (the pair that joined later isn't in this specific run yet) are each stress-tested by injecting a synthetic permanent price shock — 2-sigma, 3-sigma, and 5-sigma, sized from that pair's own realized bar-return volatility — at a random point in its history, then re-running the same fill/fee logic on the post-shock series. A pair has to stay fill-adjusted-profitable after all three shock sizes to pass.
Result: all 7 pairs positive across all 3 shock sizes (21/21 pass) — e.g. one pair stayed +22.5% to +25.3%/mo fill-adjusted through a 5-sigma (2.48%) shock; another +54.5% to +59.3%/mo through the same range. Source: crypto_mm_mexc/src/toxic_flow_check.py, run 2026-08-25.
All results shown are from paper-trading systems using real market prices but no real money and no live orders placed on any exchange. Past performance is not indicative of future results. Trading cryptocurrency involves significant risk of loss, and thin, low-cap pairs like the ones on this page can have material differences between simulated and real execution.
The cohort hasn't recorded any trades yet. Check back soon.