3585 Commits

Author SHA1 Message Date
copybot[bot] 6c3abfa5d7 copybot: paper poll [skip ci] 2026-06-28 13:17:20 +00:00
copybot[bot] 2db533c9a2 copybot: paper poll [skip ci] 2026-06-28 11:56:42 +00:00
copybot[bot] f37912e13a copybot: paper poll [skip ci] 2026-06-28 10:08:21 +00:00
copybot[bot] 9289dcaf7a copybot: paper poll [skip ci] 2026-06-28 07:12:35 +00:00
copybot[bot] 50556dd9f3 copybot: paper poll [skip ci] 2026-06-28 03:26:42 +00:00
copybot[bot] 7754b02841 copybot: paper poll [skip ci] 2026-06-27 23:58:39 +00:00
copybot[bot] dfb4746d68 copybot: paper poll [skip ci] 2026-06-27 22:58:41 +00:00
copybot[bot] dacf81ec85 copybot: paper poll [skip ci] 2026-06-27 21:58:20 +00:00
copybot[bot] 613ea90c01 copybot: paper poll [skip ci] 2026-06-27 20:57:52 +00:00
copybot[bot] 8e3b556e6e copybot: paper poll [skip ci] 2026-06-27 19:58:33 +00:00
copybot[bot] 7a0528b1f1 copybot: paper poll [skip ci] 2026-06-27 18:49:09 +00:00
copybot[bot] 3d4aee59a6 copybot: paper poll [skip ci] 2026-06-27 17:40:28 +00:00
jaxperro c119ed8668 live: daily refresh — skilled + sharp wallets [skip ci] 2026-06-27 11:15:38 -06:00
copybot[bot] c79a672389 copybot: paper poll [skip ci] 2026-06-27 16:35:13 +00:00
copybot[bot] 86c597951b copybot: paper poll [skip ci] 2026-06-27 15:23:31 +00:00
copybot[bot] 8f88281002 copybot: paper poll [skip ci] 2026-06-27 14:07:42 +00:00
copybot[bot] 9b09e6b9f1 copybot: paper poll [skip ci] 2026-06-27 12:17:22 +00:00
copybot[bot] bbcca05487 copybot: paper poll [skip ci] 2026-06-27 11:12:35 +00:00
copybot[bot] 60b311a7c8 copybot: paper poll [skip ci] 2026-06-27 09:36:38 +00:00
copybot[bot] 35be73fa1c copybot: paper poll [skip ci] 2026-06-27 07:27:36 +00:00
copybot[bot] 8095725765 copybot: paper poll [skip ci] 2026-06-27 04:15:44 +00:00
copybot[bot] 828a17c22c copybot: paper poll [skip ci] 2026-06-27 00:13:58 +00:00
copybot[bot] 0cb1e74227 copybot: paper poll [skip ci] 2026-06-26 23:02:09 +00:00
copybot[bot] 7ae5639e4d copybot: paper poll [skip ci] 2026-06-26 21:58:24 +00:00
copybot[bot] 6240c4c126 copybot: paper poll [skip ci] 2026-06-26 20:54:51 +00:00
copybot[bot] 4f358581ce copybot: paper poll [skip ci] 2026-06-26 19:13:37 +00:00
copybot[bot] aa170cba4a copybot: paper poll [skip ci] 2026-06-26 17:26:12 +00:00
jaxperro ecd629fd5a live: daily refresh — skilled + sharp wallets [skip ci] 2026-06-26 11:21:47 -06:00
copybot[bot] fb070b346a copybot: paper poll [skip ci] 2026-06-26 15:53:54 +00:00
copybot[bot] 9e34356aba copybot: paper poll [skip ci] 2026-06-26 13:34:32 +00:00
copybot[bot] 60e9b76988 copybot: paper poll [skip ci] 2026-06-26 11:35:08 +00:00
copybot[bot] 93dc60796d copybot: paper poll [skip ci] 2026-06-26 08:52:45 +00:00
copybot[bot] 468d4445d1 copybot: paper poll [skip ci] 2026-06-26 05:57:21 +00:00
copybot[bot] 19f2eac444 copybot: paper poll [skip ci] 2026-06-26 01:51:32 +00:00
copybot[bot] a5ed1353d4 copybot: paper poll [skip ci] 2026-06-25 23:40:41 +00:00
copybot[bot] 4fa9fee97e copybot: paper poll [skip ci] 2026-06-25 22:07:44 +00:00
copybot[bot] 7f4e5da098 copybot: paper poll [skip ci] 2026-06-25 20:35:15 +00:00
copybot[bot] a152f0c6fe copybot: paper poll [skip ci] 2026-06-25 18:42:32 +00:00
jaxperro 2946ac9170 copybot: 24/7 paper copy-trade test + live dashboard feed
Push-or-poll copy bot (FollowFilter conviction gate + copytrade engine),
cash-gated $1k book, resolution settling, lag/slippage logging, FOK live
orders, on-chain redeem. Runs free 24/7 via GitHub Actions (--poll-once
cron) and publishes live/copybot_live.json for the trading dashboard.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 12:41:56 -06:00
jaxperro 9afa759c2d live: daily refresh — skilled + sharp wallets [skip ci] 2026-06-25 10:12:26 -06:00
jaxperro 7f70cbee06 live: daily refresh — skilled + sharp wallets [skip ci] 2026-06-24 10:30:39 -06:00
jaxperro 92fe276737 live: expose per-wallet conv_thr in portfolio.json (for live current-bets)
Adds each followed wallet's cache p80 conviction threshold so the dashboard
can filter LIVE open positions the same way the server does.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 15:16:13 -06:00
jaxperro 87a956a059 live: reset paper portfolio to a forward test starting 2026-06-23
Set portfolio.py START to today so the $1k book tracks these wallets from
now forward (clean forward test, no in-sample backfill). Equity resets to
~$1,000; the daily run fills it in as bets resolve.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 15:00:11 -06:00
jaxperro 28fdf7f42b docs: document copy-positive selection, Copy P&L, cache-based portfolio
Update the dev-facing docs so others can follow the current system:
- live/README: copy-positive-holder selection (replaces lead-time gate),
  Copy P&L as the copyability metric, new Paper portfolio (portfolio.py)
  + Dashboard feeds (watch_sharps.json / portfolio.json) sections, the
  full 8-step daily flow, the cache rolling-180d/replace retention gotcha,
  and a Copy execution (copybot/sync_floors, separate WIP) note.
- README: top portfolio is now precomputed off the cache (correct
  recycling), judge by Copy P&L not win%, copy execution is separate.
- FINDINGS: capital-recycling / $1k-book section + repo-layout refresh.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 14:51:04 -06:00
jaxperro 9cbafabfdd live: precompute the $1k paper portfolio off the cache (portfolio.py)
New portfolio.py replays the followed wallets' conviction bets ($1k/$50,
hold-to-resolution) from cache.duckdb — which has res_t, so capital
RECYCLES at the true resolution time (no client-side clob storms, no
phantom-locked capital) and covers the full bet history (~40 pages, not
the browser's 4). Writes portfolio.json (equity, splits, current/
resolved/missed tables, per-wallet); wired into daily.sh + publish. The
dashboard now renders the top page from this feed (1 request) with the
client-side replay kept as a fallback.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 14:43:50 -06:00
jaxperro 4b9488be9d live: select sharps by copyability, not lead time (surfaces new holders)
Replace the blunt 24h lead gate with a copy-replay selection run on EVERY
conviction wallet: keep only those that are copy-positive AND have a
genuine hold-to-resolution edge (held_pnl>0, held win-rate>=55% over >=8
resolved held bets), active in 30d, with a light >=1h lead floor vs true
snipers. display_stats now splits copy P&L into scalp vs held legs and
uses fresh-positions resolution (clob fallback) so it's cheap enough to
run on all ~229 wallets.

Effect: drops scalper-traps whose win% looked great but lose copied
(ArbTrader, iohihoo, S888, ttj01) and the old lead gate's discards;
surfaces fast-resolving copy-positive holders it used to throw away
(raid3r, 0x6d1A94f4, 0xec1d07e5, mantaray, earthisgood, shisan...).
14 copy-positive holders now in watch_sharps.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 13:31:41 -06:00
jaxperro 8b1ccb93fc live: commit dashboard.html each daily run (keep tree clean)
The daily run regenerates dashboard.html but the publish step never
committed it, leaving it perpetually modified. Add it to the publish git
add list and commit the current snapshot.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 12:46:20 -06:00
jaxperro 0bb3192321 docs: document Copy P&L finding (position win% != copyability)
README/FINDINGS/live/README updated for today's discovery: the sharps
win% is a position snapshot that over-counts scalpers; copy_pnl (flat-$50
replay, authoritative clob resolution) is the real copyability signal.
Most "sharps" lose copied; only Kruto2027 + fortuneking are copy-positive
(now the tracked pair). Refreshed stale counts (50 -> ~31 after the
30d-active filter) and noted position-level conviction.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 12:45:29 -06:00
jaxperro 66f4229e3d live: add authoritative Copy P&L to the sharp feed
display_stats now computes copy_pnl: what a flat-$50 copier of a wallet's
conviction bets ACTUALLY realizes since Jun 1 — replays their entries,
mirrors their exits, and settles held bets at AUTHORITATIVE clob
resolution (winner by token_id). This is the truth for copyability and
exposes scalpers whose position win% looks great but lose when copied
(ArbTrader 99.5% conv win but -$793 copy; iohihoo 88.7% but -$749).

Position win%/record/P&L stay on the cache (large 180d sample). Added a
clob resolver (_clob_winner) + activity-replay; only Kruto2027 (+1184),
S888, oliman2, fortuneking (+430) etc. are positive to copy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 12:13:42 -06:00
jaxperro 8a07d0d365 live: drop sharps inactive >30d from the feed
validate_timing now filters the sharp list to wallets that have traded in
the last 30 days (last_trade from the /activity pull), so watch_sharps.json
only lists currently-active sharps — not just hidden client-side. Dropped
10 of 41 on this run (-> 31 active). The dashboard keeps its own 30d filter
as a safety net for daily-stale feeds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 11:18:41 -06:00