Net Unrealized Profit/Loss (NUPL) is one of the most respected on-chain indicators in crypto analysis. It measures the ratio of unrealized profit to market cap, effectively tracking whether the average holder is sitting on gains or losses. Analysts have used it for years to identify cycle tops and bottoms. What nobody had done, to our knowledge, was turn it into an automated trading strategy with proper backtesting and validation. We did, and the results surprised us.
NUPL Zones and Trading Logic
NUPL maps naturally into five behavioral zones. Below 0 is capitulation, where the average holder is underwater and selling pressure is exhausted. Between 0 and 0.25 is hope, the early recovery phase. 0.25 to 0.5 is optimism, where confidence is building. 0.5 to 0.75 is belief, the sustained rally phase. Above 0.75 is euphoria, where the market is overextended and a correction becomes likely.
Our nupl_cycle_filter strategy translates these zones into trading signals. When NUPL drops below the capitulation threshold (0.0 in our optimized configuration), the strategy goes long. When NUPL rises above the euphoria threshold (0.75), the strategy exits or goes to cash. Between those extremes, it holds the position and lets the cycle play out. The strategy also uses a trend lookback of 7 periods on 4-hour candles to confirm that the NUPL direction aligns with the intended trade.
Seven ROBUST Symbols
Validation across our standard five regime periods produced strong results. INJ and LINK were the standouts with 5 of 5 periods positive. TRX, UNI, AVAX, BTC, and DOT all passed with 4 of 5 periods positive, earning ROBUST verdicts. This is notable because BTC is one of the symbols where most of our price-based strategies fail. NUPL captures something about BTC market structure that RSI and MACD cannot: the aggregate profit/loss psychology of the holder base.
The sweep best Sharpe was 1.45 on APT. These are not the eye-catching Sharpe ratios of our mean reversion strategy on altcoins, but they represent genuine, regime-robust edge on a diverse set of assets including BTC. The strategy trades infrequently (5 to 15 trades per year depending on the symbol) with high conviction per trade and extended holding periods.
Why SOPR Did Not Help
We tested adding Short-Term Holder Spent Output Profit Ratio (STH-SOPR) as a confirmation signal. The hypothesis was that SOPR would catch the moment when short-term holders start realizing losses, confirming the capitulation signal from NUPL. In practice, adding SOPR confirmation (use_sopr=true) did not improve results on any symbol. The SOPR signal lagged NUPL at turning points, causing later entries and worse fill prices. Our optimized configuration uses use_sopr=false.
This was a useful negative result. On-chain indicators are often presented in combination, with the assumption that more signals improve accuracy. Our testing showed that NUPL alone is a cleaner signal than NUPL plus SOPR. The additional complexity added noise without improving the hit rate.
The On-Chain Data Advantage
Unlike derivatives data, which typically provides only six months of history through most API providers, on-chain data extends back to the genesis of each blockchain. Our NUPL data goes back to 2009 for BTC and to launch date for other assets. This means our five-regime validation covering 2021 through 2026 uses genuinely out-of-sample data across multiple complete market cycles, not just a few months of recent history.
This data depth is what gives us confidence in the validation results. A strategy that shows consistent performance across the 2021 euphoria, the 2022 capitulation, the 2023 recovery, the 2024 consolidation, and the 2025-2026 recent period is unlikely to be overfit. It has survived conditions that differ profoundly in terms of sentiment, leverage, and market structure.
Practical Deployment
We deployed nupl_cycle_filter on seven symbols in April 2026: INJ, LINK, TRX, UNI, AVAX, BTC, and DOT. All run on 4-hour candles with euphoria_threshold=0.75, capitulation_threshold=0.0, and trend_lookback=7. Each bot receives $1,000 allocation.
The strategy is genuinely different from our price-based approaches. It trades on network-level psychology rather than technical patterns. Its signals are uncorrelated with RSI, MACD, and Bollinger Band signals because it measures a completely different dimension of market behavior. Adding these seven bots to our portfolio increased our strategy diversity without adding redundant exposure, which is exactly what portfolio construction theory prescribes.