Results
Every table here is pulled from the task reports in docs/reports/ at build time, so
this page cannot say something the reports do not. All returns are paper. Nothing on this
page is a claim that the fly has an edge.
One fly against the baselines (T06)
2,000 steps, seed 123, nose subgraph (32,498 neurons), 4.5 hours of collected data. Held-out split: 2,439 rows over 243 tokens, none of which appear in training.
| model | balanced acc | accuracy | ape recall | ape precision | trades | median return | mean return | win rate |
|---|---|---|---|---|---|---|---|---|
| mlp_64 | 0.491 | 0.551 | 30.9 % | 20.8 % | 95 | −33.6 % | −26.5 % | 23.2 % |
| logistic | 0.487 | 0.513 | 37.5 % | 18.3 % | 121 | −15.6 % | −17.6 % | 25.6 % |
| fly | 0.462 | 0.476 | 32.7 % | 14.2 % | 141 | −15.4 % | −20.7 % | 20.6 % |
| always_ape | 0.333 | 0.113 | 100 % | 11.3 % | 243 | −15.6 % | −30.1 % | 18.1 % |
| random | 0.326 | 0.331 | 32.4 % | 11.4 % | 218 | −8.9 % | −19.4 % | 16.1 % |
| always_hold | 0.333 | 0.686 | 0 % | — | 0 | — | — | — |
Cost: 177 seconds for 2,000 steps, 2.54 GB peak GPU memory.
The fly learned something. Balanced accuracy 0.462 against 0.333 for every trivial predictor, and ape precision 14.2 % against a base rate of 11.3 %. Those gaps are small but they are real: it is picking apes better than chance, using nothing but a frozen random sensory map and a frozen random readout, with only edge gains and leaks trained. For a network whose entire structure was measured from a fly and never designed for this, that is a genuine result.
The fly lost. A logistic regression on the same 42 features beats it on balanced accuracy (0.487 vs 0.462), ape recall (37.5 % vs 32.7 %) and ape precision (18.3 % vs 14.2 %), while trading less. The 64-unit MLP has the best ape precision of all (20.8 %). The brief said we report this plainly if it happens, so: on this data, at this size, the connectome is not a better classifier than a linear model. Anyone claiming the fly has an edge because it is a fly is contradicted by our own table.
Nothing made money. Every strategy that trades has a negative median return. The best
median belongs to random at −8.9 %, and that is not a strategy, it is the market: aping
memecoin launches loses money, and the honest summary of this run is that a fly brain does
not change that.
Accuracy is the trap it was always going to be. always_hold scores 0.686 accuracy by
never doing anything, higher than the fly's 0.476. That is why the table leads with
balanced accuracy and median return, and why accuracy is kept only to show how misleading
it is.
Eight seeds, more data (T13)
Trained on the same frozen dataset (data/dataset.npz, 38,433 rows over 2,918 tokens,
7.4 hours of collection), 2,000 steps each, ~3 minutes each on the 5070 Ti. Same
architecture, same data, different seed — and the seed controls the frozen half: which
odorant each ORN listens to, with what sign, and the random readout.
| fly | balanced acc | ape precision | ape recall | trades | median return |
|---|---|---|---|---|---|
| s461 | 0.5128 | 0.1336 | 59.5 % | 334 | −5.5 % |
| s791 | 0.5121 | 0.1350 | 53.5 % | 313 | −5.4 % |
| s231 | 0.5072 | 0.1281 | 60.2 % | 365 | −5.5 % |
| s577 | 0.5054 | 0.1299 | 51.2 % | 330 | −5.0 % |
| s809 | 0.5027 | 0.1306 | 44.2 % | 308 | −5.1 % |
| s347 | 0.5018 | 0.1247 | 60.0 % | 337 | −6.3 % |
| s683 | 0.5007 | 0.1278 | 61.8 % | 337 | −5.5 % |
| s123 | 0.4856 | 0.1222 | 56.0 % | 349 | −8.4 % |
Seed variance is real and it is not small. Balanced accuracy spans 0.486 to 0.513, sd 0.0085. That range is wider than the gap T06 measured between the fly and some of its baselines, which means any single-seed comparison in this project — including T06's — was partly reporting its seed. Eight seeds is the minimum honest sample, and the leaderboard should be read as eight draws from one distribution rather than eight strategies.
More data helped, and the fly still loses. T06 trained on 4.5 hours and scored 0.462; the same seed (123) on 7.4 hours scores 0.486, and the best seed scores 0.513. But on the same split, logistic regression scores 0.532:
| model | balanced acc | accuracy | ape recall | ape precision | trades | median return | win rate |
|---|---|---|---|---|---|---|---|
| logistic | 0.532 | 0.490 | 66.4 % | 14.8 % | 350 | −5.5 % | 29.1 % |
| fly (s461) | 0.513 | 0.489 | 59.5 % | 13.4 % | 334 | −5.5 % | 29.0 % |
| mlp_64 | 0.496 | 0.559 | 35.2 % | 14.4 % | 205 | −2.7 % | 29.8 % |
| always_ape | 0.333 | 0.083 | 100 % | 8.3 % | 455 | −4.1 % | 25.1 % |
| random | 0.338 | 0.335 | 34.3 % | 8.6 % | 407 | −3.1 % | 21.4 % |
| always_hold | 0.333 | 0.710 | 0 % | — | 0 | — | — |
The gap narrowed from 0.025 to 0.019 with 65 % more data, and it did not close. The conclusion from T06 stands: the connectome is not a better classifier than a linear model on these features, and no strategy in the table has a positive median return.
Master wallet entry rules, measured before use (T13b)
Against 66,441 labelled snapshots (label = what the price did in the next 60 minutes; "ratio" is close_60m / price_at_snapshot, capped at 10, mean). Measured.
| token age at snapshot | n | pump | dead | mean 60 m ratio |
|---|---|---|---|---|
| < 2 min | 3,778 | 9.3 % | 22.4 % | 0.846 |
| 2–5 min | 4,199 | 6.7 % | 15.1 % | 0.896 |
| 5–15 min | 12,789 | 3.7 % | 9.5 % | 0.928 |
| 15–60 min | 4,569 | 2.1 % | 7.6 % | 0.942 |
| > 60 min | 41,164 | 2.9 % | 7.6 % | 0.824 |
accrued fees (total_fee, SOL) |
n | pump | dead | mean 60 m ratio |
|---|---|---|---|---|
| < 0.01 | 25,361 | 4.8 % | 11.7 % | 0.820 |
| 0.01–0.05 | 18,427 | 2.1 % | 5.5 % | 0.924 |
| 0.05–0.1 | 5,439 | 3.8 % | 6.0 % | 0.945 |
| 0.1–0.2 | 2,638 | 6.9 % | 11.8 % | 0.928 |
| 0.2–0.5 | 3,725 | 2.4 % | 11.2 % | 0.848 |
| 0.5–1 | 3,426 | 2.6 % | 9.3 % | 0.846 |
| > 1 | 7,419 | 3.0 % | 11.0 % | 0.845 |
Both rules together: 14,022 snapshots, 2.7 % pump, 9.1 % dead, mean ratio 0.866.
Read plainly: the age floor works — it halves the rug rate and lifts the mean 60-minute
ratio from 0.85 to 0.93. The fee floor does not help on this history: coins with
≥ 0.2 SOL of fees did worse over the next hour (0.85) than coins with 0.01–0.2 SOL
(0.92–0.95), because fees accrue with age and volume, and the > 60-minute bucket is where
the feed's leftovers sit. It is on because it was asked for and it does screen out the
freshest launches; the rejection counts will say what it costs, and the threshold is one
env var. Recommendation for the 24 h review: try MASTER_MIN_FEE_SOL=0.05.
Nothing here is a claim that the fly has an edge; these are properties of the feed.
Exit rules, backtested on the ledger's own marks (T13c)
Actual ledger result on these positions: −3.915 ◎ (stoploss 495, stale 233, sell 207).
| rule set | total PnL | mean trade | median trade | win rate | exits |
|---|---|---|---|---|---|
| deadline only | −6.338 ◎ | −54.2 % | −72.9 % | 7.1 % | deadline 910 |
| current (stop 50 % + fly sell + 60 m) | −4.597 ◎ | −39.9 % | −62.9 % | 12.0 % | deadline 352, sell 155, stop 403 |
| + trail 30/15 | −3.711 ◎ | −34.2 % | −60.4 % | 15.4 % | deadline 290, sell 137, stop 375, trail 108 |
| trail_tp (trail + half out at 2x, no hard stop) | −2.608 ◎ | −27.5 % | −47.6 % | 18.9 % | deadline 543, sell 150, trail 217 |
| all (stop + trail + tp) | −2.776 ◎ | −28.4 % | −53.1 % | 18.1 % | deadline 291, sell 135, stop 376, trail 108 |
| all, without the fly's sell | −3.494 ◎ | −34.0 % | −60.3 % | 16.7 % | |
| trail 40/25 + tp | −2.878 ◎ | −29.0 % | −53.7 % | 18.2 % | |
| stop + tp only | −3.171 ◎ | −30.8 % | −54.1 % | 17.5 % |
The backtest reproduces the actual ledger to within 0.7 ◎ under the current rules (the gap is mark timing and the 233 stale exits), which is the check that the simulator is describing the same market.
Read plainly, measured on this history:
- Everything loses. The best rule set turns −4.6 ◎ into −2.6 ◎ on ~44 ◎ staked. The exits recover about 40 % of the loss; they do not make the entries good. Nothing here is evidence the fly has an edge, and the fly-vs-baseline result from T06 stands.
- The trailing stop and the half-out at 2x are worth having. Win rate 12 % → 19 %, mean trade −40 % → −28 %. The coins that "mooned and came back" are the ones the trail now sells (217 trail exits).
- The hard 50 % stop is slightly negative once the trail exists (−2.61 vs −2.78 ◎):
rugs go through it anyway (a drained pool marks at −80 % in one step), and it fires on
dips that recover. It is off in the live default and one env var away (
EXIT_RULES=all). - The fly's own
sellhelps (−2.61 vs −3.49 without it). That is a real, if small, signal from the model — the one place in this report the connectome earns something.
A kline-based run (--source kline) is in runs/swarm/ and is not trusted: kline
closes for fresh coins sit on a different basis from the bonding-curve entry price, and
even ratio-rebased it books thousand-percent trades on a handful of coins that no pool
could have paid out. The marks are what the ledger acts on; that is the honest series.
The paper ledger, live
The current leaderboard is on the live page. make ledger-report prints the numbers and
writes docs/reports/T13-ledger.json; the last snapshot at build time:
| wallet | equity | return | closed | win rate | median trade |
|---|---|---|---|---|---|
| master | 0.8555 ◎ | -14.5 % | 14 | 21.4 % | -26.2 % |
| s791 | 0.3712 ◎ | -62.9 % | 317 | 16.4 % | -35.3 % |
| s231 | 0.3306 ◎ | -66.9 % | 434 | 18.0 % | -27.2 % |
| s123 | 0.2875 ◎ | -71.2 % | 379 | 14.0 % | -23.7 % |
| s577 | 0.2548 ◎ | -74.5 % | 348 | 14.9 % | -37.3 % |
| s347 | 0.2542 ◎ | -74.6 % | 354 | 13.6 % | -25.2 % |
| s809 | 0.2443 ◎ | -75.6 % | 297 | 12.1 % | -35.6 % |
| s683 | 0.2354 ◎ | -76.5 % | 352 | 13.1 % | -28.0 % |
| s461 † | 0.2011 ◎ | -79.9 % | 323 | 15.2 % | -33.3 % |
Snapshot 2026-09-11 07:31 UTC, 4.5 h of paper trading, 2846 positions. † tombstoned.