Whale Signals
On-chain Ethereum whale tracking with NLP sentiment analysis for price impact modelling
Install / Use
npx skills add zty05070242/whale-signalsInstalls into whichever agent you are using.
README
Languages: English | 繁體中文 | 简体中文
Are Ethereum Whales Smart Money? An Event Study of On-Chain Signals and Sentiment
Abstract
This study investigates whether large on-chain Ethereum transactions predict short-term and medium-term ETH price movements, and whether market sentiment moderates this relationship. Using an event study methodology on 646,442 whale transactions over 3.5 years (Jan 2023 - Jul 2026), we measure the directional hit rate of whale exchange deposits (sell signals) and withdrawals (buy signals) across nine time horizons (1 hour to 6 months), four transaction size thresholds ($1M to $10M+), seven sentiment regimes, two market regimes (bull/bear), and four independent yearly samples.
Live App: https://crypto-whale-signals-and-sentiment-lkhygb3594bbrogn23qbps.streamlit.app/
Key findings:
The deposit (sell) signal's edge grows monotonically from +1.3% at 24 hours to +12.4% at 6 months, and this pattern was set using 2023-2025 data and confirmed, unchanged, when tested against 2026 data collected afterward.
-
Whale deposits (sell signals) show a persistent, growing edge that strengthens with horizon, and holds at every transaction size. The unconditional deposit edge grows from +1.3% at 24h to +4.8% at 1 month to +12.4% at 6 months. This growth over time shows up consistently whether we look at $1M+ or $10M+ deposits alone: both move from roughly flat in 2023 to +2.9% to +3.9% by 2026. Whale sellers think in weeks and months, not hours. Explicitly conditioning the signal on sentiment (extreme greed) only helps at 24h, lifting the edge by +1.3% to +2.2% depending on transaction size; at every longer horizon tested, that same conditioning weakens the edge instead, by as much as 17.3% at 6 months, consistently across all four thresholds. The unconditional signal, not the sentiment-filtered one, is what holds up over time. (A separate, narrower claim we initially reported, that $10M+ deposits during extreme greed showed a 78.3% hit rate, did not hold up under closer testing; see Discussion.)
-
Whale withdrawals (buy signals) lost their edge entirely, and this holds at every transaction size too. In 2023-2024, withdrawals during negative funding showed +4.7% to +10.1% edge; by 2025 that had faded close to zero at every threshold, and by 2026 it was negative at every threshold from $1M+ to $10M+, ruling out the simple explanation that small, less sophisticated actors were just diluting the signal. At longer horizons, withdrawals become actively wrong: -6.1% edge at 1 month, -12.9% at 6 months. We attribute this to DeFi maturation: withdrawals increasingly represent staking, liquidity provision, and L2 bridging rather than directional buying.
-
Alpha decay is asymmetric, and a headwind that should have weakened the deposit signal did not. As ETH's price rose, a fixed $1M threshold captured progressively smaller, less committed sellers (~833 ETH in 2023 vs ~250 ETH in 2026), dilution that should work against the deposit edge. Instead the edge grew, which argues against a simple composition-effect explanation. One candidate explanation for why the deposit signal avoided being arbitraged away, unlike withdrawals, is that whale-watching tools amplify bullish activity more than bearish.
-
The edge is real, and it comes with a real cost. For long-horizon deposit signals that eventually paid off, we measured the maximum adverse excursion: the worst unrealised loss before the signal worked. This grows sharply with horizon, from 2.7% at 1 week to 20.1% at 6 months on average, with the worst 10% of "correct" 6-month trades seeing a 54.4% adverse move first. The edge is not free money; collecting it means surviving drawdowns most traders cannot tolerate.
Table of Contents
- Background
- Original Contributions
- Data Sources
- Methodology
- Results: Unconditional Hit Rates
- Results: Conditioned on Sentiment
- Results: Yearly Stability
- Results: Threshold Sensitivity
- Results: Long Horizons
- Results: Deposits by Year at Long Horizons
- Results: Drawdown During the Holding Period
- Results: Bull vs Bear Market Regimes
- Discussion
- Limitations
- Related Academic Literature
- Dashboard
- Repository Structure
- How to Run
Background
In traditional equity markets, institutional positioning is reported quarterly (13F filings) with significant lag. In contrast, public blockchains like Ethereum have every transaction visible in near-real-time. This creates a unique opportunity to study large-holder behaviours in real time.
Prior work on "whale watching" treated it as a price prediction problem: feed whale data into an ML model and attempt to forecast returns. This approach conflates multiple signals and rarely isolates the whale-specific contribution. This new approach now differs in three ways:
- Event study methodology: we directly measure whether whale actions predict direction, rather than building a black-box predictor.
- Sentiment conditioning: we test whether market regime (Fear & Greed Index, futures funding rate) moderates the whale signal.
- Yearly stability analysis. We test each year independently (2023, 2024, 2025, 2026) to detect alpha decay. 2026 serves as an out-of-sample check on hypotheses developed from 2023 to 2025 data.
Original Contributions
-
Asymmetric alpha decay. Whale buy signals decayed from 2023 to 2026 while sell signals strengthened. We hypothesise this is partly because whale-watching tools broadcast bullish activity more than bearish, but the cause is not definitively established.
-
Long-horizon whale intelligence. Whale deposit edge grows monotonically with time horizon: +1.3% at 24h, +4.8% at 1 month, +12.4% at 6 months. The longer-horizon figures carry more overlap between events and deserve more caution than the 24h figure (see Limitations). Whale sellers are not just day-traders, they can have better experience and knowledge and might see structural shifts weeks to months ahead.
-
Threshold sensitivity, revised. We initially reported $10M+ deposits during extreme greed achieving a 78.3% hit rate at 24h. Looking closer, the transactions behind that number cluster within a small number of days, which is the same overlapping-observations problem described in the Limitations section, and it is why we do not treat this figure as confirmed (see Discussion).
-
DeFi dilution hypothesis. Due to DeFi maturation, withdrawals can mean staking, LP provision, and L2 bridging, which are non-directional. This dilutes the "withdrawal = buy" assumption. However, deposits remain a clean sell signal.
-
Out-of-sample test. All hypotheses were developed on 2023 to 2025 data. 2026 data was then fetched separately and tested without any parameter tuning. Deposit signals survive; withdrawal signals do not.
Data Sources
| Source | Data | Records | Period | Cost | |--------|------|---------|--------|------| | Dune Analytics | Whale transactions (>$1M) | 646,442 | Jan 2023 to Jul 2026 | Free tier | | Binance API | Hourly ETH/USDT prices | 30,801 | Jan 2023 to Jul 2026 | Free | | Binance API | ETH funding rates (8-hourly) | 3,851 | Jan 2023 to Jul 2026 | Free | | alternative.me | Crypto Fear & Greed Index | 3,075 | Feb 2018 to Jul 2026 | Free | | Kaggle | Bitcoin news headlines | 5,906 | Jan 2023 to Sep 2024 | Free | | GitHub (open-source) | Wallet address labels | 52,768 | Snapshot | Free |
Methodology
Data Pipeline (Phase 1)
- 646,442 large ETH transactions via Dune Analytics SQL query
- 52,768 wallet addresses labelled by merging brianleect/etherscan-labels and dawsbot/eth-labels
- Label coverage: 62.8% of transactions have at least one identified address
- MEV bot candidates flagged for sensitivity analysis
Transaction Classification (Phase 2)
- Rule-based labelling for known wallets (exchange deposit, withdrawal, DeFi, wallet-to-wallet)
- An ML classifier (Random Forest) predicts categories for unknown wallets, achieving 67.7% accuracy on a time-based hold-out (see
scripts/run_phase2_classifier_eval.py). After expanding the label dataset from 30 to 52,768 addresses, label coverage reached 62.8%, reducing reliance on the classifier. It is still used for the remaining ~37% of transactions where both sender and receiver are unknown. This is the same task Harlev et al. (2018) tackle for Bitcoin entity types (10 categories, ~200M transactions): their best result was 77% accuracy with Gradient Boosting, modestly higher than this Random Forest's 67.7%, though the two differ in algorithm, features, and dataset
Category distribution:
| Category | Count | Share | Meaning | |----------|-------|-------|---------| | wallet_to_wallet | 321,257 | 49.7% | Both addresses are non-exchange, non-DeFi. Could be OTC trades, cold storage transfers, or personal wallet shuffling. No directional signal because intent is unknown, so these are excluded from the event study | | exchange_deposit | 181,105 | 28.0% | ETH sent TO a known exchange. Interpreted as a sell signal. The main reason to deposit to an exchange is to sell | | exchange_withdrawal | 124,772 | 19.3% | ETH withdrawn FROM a known exchange. Historically interpreted as a buy signal (accumulating), though this assumption has weakened as DeFi matured | | defi_interaction | 19,308 | 3.0% | One address is a kn
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
