copybot: whale class follows ALL trades — no conviction floor

Whale-class wallets bypass min_their_usd and per-wallet floors entirely:
both current whales win ~92% across their ENTIRE book (Stavenson 469-39,
0x4bFb 862-72 all-time trusted; 99.2% last 30d for the whale), so
size-filtering them only costs flow. The 0.95 entry cap stays (execution
guard, validated). Floors removed from the paper config for both.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
jaxperro
2026-07-05 21:45:45 -04:00
parent 58975e515b
commit 034e128281
2 changed files with 10 additions and 3 deletions
+10 -1
View File
@@ -248,10 +248,18 @@ class FollowFilter:
self.per_wallet = {k.lower(): float(v) for k, v in f["per_wallet_min_usd"].items()}
self.min_entry = float(f["min_entry"])
self.max_entry = float(f["max_entry"])
# whale-class wallets (follow.wallet_class) are followed on EVERY trade:
# no conviction floor at all — their whole book is the signal (both
# current whales win ~92% across all bets, so size-filtering them only
# costs flow). The entry-price band still applies (execution guard).
self.whales = {w.lower() for w, c in (f.get("wallet_class") or {}).items()
if c == "whale"}
wl = cfg.get("watchlist") or [w["wallet"] for w in cfg.get("watch", [])]
self.wallets = {w.lower() for w in wl}
def floor(self, wallet):
if wallet.lower() in self.whales:
return 0.0
return self.per_wallet.get(wallet.lower(), self.min_their_usd)
def check(self, wallet, t):
@@ -274,8 +282,9 @@ class FollowFilter:
def describe(self):
pw = f" · {len(self.per_wallet)} per-wallet floors" if self.per_wallet else ""
wh = f" · {len(self.whales)} whales follow-all" if self.whales else ""
return (f"follow filter · {'BUY-only' if self.buy_only else 'BUY+SELL'} · "
f"conviction ≥ ${self.min_their_usd:,.0f}{pw} · "
f"conviction ≥ ${self.min_their_usd:,.0f}{pw}{wh} · "
f"entry [{self.min_entry:.2f},{self.max_entry:.2f}]")
-2
View File
@@ -50,8 +50,6 @@
"0x86c878cde72660ec52f5e6f0f0438b76de8fc867": 970.0,
"0x41558102a796ba971c7567cad41c307e59f8fa41": 231.0,
"0xd96750bf8d941a8186e592b0ae6e096da66aa266": 115.27,
"0xf5fe759cece500f58a431ef8dacea321f6e3e23d": 1000.0,
"0x73afc8160c17830c0c7281a7bf570c871455b880": 940.14,
"0xfc81760d44a21acc9fd4b749a5bf9a9b2eeae072": 55.63
},
"min_entry": 0.0,