Complete Analysis of the October 10, 2025 Hyperliquid Auto-Deleveraging (ADL) Event
Largest known ADL event analysis: $2.1 billion in forced position closures across 162 assets in 12 minutes. Analysis based on blockchain data with complete clearinghouse state reconstruction.
For researchers: Use ONLY the real-time reconstructed file (cash-only baseline):
adl_detailed_analysis_REALTIME.csv
This file contains:
- 34,983 ADL events (100% coverage - ADLs occurred during 21:16:04-21:26:57 UTC within the full 12-minute event window)
- Real-time account values (cash-only) at exact ADL moment (snapshot unrealized PnL removed)
- Real-time leverage calculated with reconstructed account states:
- Median: 0.20x ← Most ADL'd accounts use low leverage
- 95th percentile: 5.10x ← Even high-leverage accounts are well below Hyperliquid's 40x max
- 99th percentile: 122.69x ← Outliers are data artifacts from liquidation delays (see
docs/findings/HIGH_LEVERAGE_OUTLIERS_EXPLANATION.md)
- Negative equity detection (302 accounts, −$23,191,104.48 aggregate deficit)
- Zero shortcuts - 3.2M events processed chronologically
Processing details:
- 3,239,706 events processed (fills, funding, deposits, withdrawals)
- 437,723 accounts reconstructed in real-time
- Full event window: 21:15:00 - 21:27:00 UTC (12 minutes) - complete analysis timeframe
- ADL events occurred: 21:16:04 - 21:26:57 UTC (10.88 minutes) - actual ADL activity period
- Liquidations occurred: 21:15:03 - 21:26:57 UTC (11.90 minutes) - liquidation activity period
- Method: Chronological event replay from clearinghouse snapshot
Canonical dataset status: Only the cash-only reconstructed CSVs and raw S3 extracts are now present in this repository. Every analysis script, markdown study, and CSV artifact is derived directly from the canonical files in data/canonical/cash-only balances ADL event orderbook 2025-10-10/:
adl_detailed_analysis_REALTIME.csv(34,983 ADL events with fixed position size calculation)adl_fills_full_12min_raw.csv(raw ADL fills)liquidations_full_12min.csv(liquidation events)
The repository is organized into clear directories for easy navigation:
HyperMultiAssetedADL/
├── README.md # This file - repository overview
├── .gitignore # Git ignore rules
│
├── docs/ # All documentation
│ ├── methodology/ # Methodology and how-to guides
│ ├── findings/ # Research findings and discoveries
│ ├── analysis/ # Analysis reports
│ └── reports/ # Verification and audit reports
│
├── scripts/ # All Python scripts
│ ├── analysis/ # Analysis scripts (9 scripts)
│ │ └── outputs/ # Analysis script JSON outputs
│ ├── data/ # Data extraction scripts
│ ├── reconstruction/ # Account reconstruction scripts
│ └── verification/ # Verification and testing scripts
│
└── data/ # All data files
├── canonical/ # Canonical processed data
│ └── cash-only balances ADL event orderbook 2025-10-10/
│ ├── adl_detailed_analysis_REALTIME.csv
│ ├── adl_by_user_REALTIME.csv
│ ├── adl_by_coin_REALTIME.csv
│ ├── adl_fills_full_12min_raw.csv
│ └── liquidations_full_12min.csv
└── raw/ # Raw analysis outputs
├── ADL_ORDERS_COMPLETE_LIST.csv
└── high_leverage_outliers_analysis.csv
Key Benefits:
- ✅ Clear separation of documentation, code, and data
- ✅ Easy to find what you need
- ✅ Organized by purpose (methodology, findings, analysis, reports)
- ✅ Scripts grouped by function (analysis, data, reconstruction, verification)
Event: October 10, 2025 Market Crash Full Analysis Window: 21:15:00 - 21:27:00 UTC (12 minutes - complete event timeframe) ADL Activity Period: 21:16:04 - 21:26:57 UTC (10.88 minutes - when ADLs actually occurred) Data Source: Hyperliquid S3 (ADL events from blockchain data)
Note: The full 12-minute window (21:15-21:27) includes the complete cascade including liquidations that started at 21:15:03. ADL events specifically occurred from 21:16:04 onwards, after the first liquidations triggered the ADL mechanism.
| Metric | Value |
|---|---|
| Total Assets ADL'd | 162 tickers |
| Total ADL Events | 34,983 events |
| Total Net Notional | $2.10 BILLION |
| Total Realized PNL | $834.3 Million |
| Total Negative Net Equity | −$23,191,104.48 (302 accounts) |
Net Equity Definition: Net equity = Cash Balance + Total Unrealized PNL. Negative net equity represents bad debt that must be covered by the insurance fund. See Insurance Fund Impact section for details.
| Rank | Ticker | Net Notional | % of Total | # Events |
|---|---|---|---|---|
| 1 | BTC | $620.9M | 29.5% | 2,443 |
| 2 | ETH | $458.0M | 21.8% | 1,498 |
| 3 | SOL | $276.2M | 13.1% | 3,031 |
| 4 | HYPE | $189.9M | 9.0% | 6,229 |
| 5 | XPL | $65.8M | 3.1% | 2,984 |
Top 3 (BTC, ETH, SOL): 64.4% of total ADL volume
| Study | Python Script |
|---|---|
docs/findings/PER_ASSET_ISOLATION.md |
scripts/analysis/per_asset_isolation.py |
docs/analysis/CASCADE_TIMING_ANALYSIS.md |
scripts/analysis/cascade_timing_analysis.py |
docs/analysis/BATCH_PROCESSING_DISCOVERY.md |
scripts/analysis/batch_processing_analysis.py |
docs/findings/ADL_MECHANISM_RESEARCH.md |
scripts/analysis/adl_mechanism_analysis.py |
docs/findings/ADL_PRIORITIZATION_VERIFIED.md |
scripts/analysis/adl_prioritization_analysis.py |
docs/findings/ADL_PRIORITIZATION_ANALYSIS_LOCAL.md |
scripts/analysis/adl_prioritization_local.py |
docs/findings/INSURANCE_FUND_IMPACT.md |
scripts/analysis/insurance_fund_impact.py |
data/canonical/cash-only balances ADL event orderbook 2025-10-10/ADL_NET_VOLUME_FULL_12MIN.md |
scripts/analysis/adl_net_volume.py (generated in canonical directory) |
docs/analysis/TOTAL_IMPACT_ANALYSIS.md |
scripts/analysis/total_impact_analysis.py |
Each script loads the canonical CSVs in this repository and emits the metrics cited in the corresponding study (plus a JSON snapshot in scripts/analysis/). Run them from the repo root:
python3 scripts/analysis/<script_name>.py| Study | Key Output |
|---|---|
| Per-Asset Isolation | 100 shared timestamps, 0 cross-asset cases, Jaccard overlap 96.74% |
| Cascade Timing | First ADL at 61.7s after first liquidation; largest burst 11,279 liq + 11,279 ADL in second 61 |
| Batch Processing | 224 timestamps total, first 61s liquidation-only, all shared timestamps run liquidation → ADL sequentially |
| Counterparty Mechanism | 100% ADL events carry liquidated_user; highlighted $174.18M ETH ADL matched by 265 ETH liquidations |
| ADL Prioritization (global) | 99.4% profitable ADL targets, median leverage 0.20x, p95 5.10x, p99 122.69x (outliers - see docs/findings/HIGH_LEVERAGE_OUTLIERS_EXPLANATION.md) |
| ADL Prioritization (local) | Spearman ρ (PNL vs notional −0.2207), (PNL vs leverage −0.4781); repeated winners table in JSON |
| Insurance Fund Impact | 302 negative-equity accounts (0.86% of ADL), aggregate deficit −$23,191,104.48 |
| ADL Net Volume | Total ADL notional $2,103,111,431, 34,983 events across 162 tickers |
| Total Impact | Liquidations $5,511,042,925 + ADL $2,103,111,431 = $7,614,154,356 across 98,620 events |
| Comprehensive Verification | python3 scripts/verification/verify_all_findings.py passes all suites (prioritization, isolation, counterparty, timing, insurance, integrity) |
** docs/methodology/COMPLETE_METHODOLOGY.md** - Comprehensive guide to reproduce our entire analysis
- All data sources (S3 event data + clearinghouse snapshots)
- Step-by-step acquisition (how to download and decompress)
- Complete processing pipeline (from raw data to insights)
- Data reconciliation (how we merged multiple data sources)
- Reproducibility guide (reproduce all 34,983 ADL event analyses)
- Common pitfalls & solutions (save hours of debugging)
Perfect for:
- Researchers wanting to reproduce our findings
- Teams building on this analysis
- Anyone needing to understand the complete data flow
November 12, 2025 - Complete clearinghouse data now available
| Data Point | Previous Status | Current Status |
|---|---|---|
| Entry Prices | NULL for 88% of positions | Calculated from fills |
| Leverage Ratios | Requires clearinghouse state | REAL-TIME for 34,983 ADL events (100%) |
| Unrealized PNL | Can't calculate without entry | Real-time for all positions |
| Account Values | Not available | 437,723 accounts - REAL-TIME RECONSTRUCTED |
| Negative Equity | Not trackable | 302 accounts identified (−$23.19M insurance impact) |
Real-Time Account Reconstruction (Processing 3.2M events from snapshot to cascade end):
- 437,723 accounts with real-time account values reconstructed
- Initial state: $5.1B total at 20:04:54 UTC (70 min before cascade)
- 3,239,706 events processed: Fills, funding, deposits, withdrawals
- Every account state updated chronologically through the COMPLETE 12-minute cascade
Calculated for Every ADL Event (REAL-TIME):
- Entry prices (weighted average from fills)
- Leverage ratios at ADL moment (real-time account values)
- Unrealized PNL at ADL time (all positions, real-time prices)
- Total equity (cash + unrealized PNL)
- Negative equity detection (account underwater)
- PNL% (unrealized_pnl / position_notional × 100)
Analysis Coverage: 34,983 ADL events (100% of all ADL events) with complete real-time data
This clearinghouse data enabled the ADL prioritization analysis detailed below.
See: ADL_PRIORITIZATION_VERIFIED.md
Common assumption: "ADL targets the highest leverage positions"
Analysis result: Evidence indicates ADL targets the most profitable positions
| Metric | Value |
|---|---|
| Profitable positions ADL'd | 99.4% (34,775 / 34,983) |
| Average unrealized PNL | +80.58% |
| Median unrealized PNL | +50.09% |
| Median leverage (REAL-TIME) | 0.20x |
| 95th percentile leverage | 3.22x |
| 99th percentile leverage | 74.18x |
| Negative equity accounts | 302 (0.86%) |
| Total negative net equity | −$23,191,104.48 |
Note on leverage: Most ADL'd positions had low leverage. The median of 0.20x indicates that most ADL'd accounts used conservative leverage. The 95th percentile at 5.10x is well below Hyperliquid's 40x maximum. The 99th percentile at 122.69x represents data artifacts from liquidation delays (accounts with near-zero value when ADL closed them), not actual high-leverage trading. See docs/findings/HIGH_LEVERAGE_OUTLIERS_EXPLANATION.md for details. This indicates that ADL does not primarily target high leverage positions.
| Coin | Notional | PNL% | Leverage | Account Value |
|---|---|---|---|---|
| BTC | $193.4M | +12.73% | 0.66x | $159.5M |
| ETH | $174.2M | +21.84% | 1.79x | $82.7M |
| BTC | $76.4M | +12.60% | 0.66x | $159.5M |
| BTC | $70.6M | +13.82% | 2.92x | $29.1M |
| SOL | $46.7M | +16.07% | 2.01x | $23.2M |
| ETH | $41.3M | +26.37% | 1.73x | $82.7M |
| ETH | $41.2M | +26.47% | 1.42x | $29.1M |
| ETH | $38.3M | +33.08% | 2.11x | $18.1M |
| BTC | $30.3M | +10.37% | 4.80x | $6.3M |
| SOL | $29.5M | +35.77% | 0.54x | $54.4M |
Every single one was PROFITABLE. This is not a coincidence.
LOW LEVERAGE ≠ SAFE FROM ADL HIGH PROFIT = ADL TARGET
If you're sitting on a huge unrealized gain during a liquidation cascade, you're getting ADL'd—regardless of leverage.
Key Insight: ADL is a forced exit mechanism for winners, not punishment for reckless traders. The protocol uses your profits to cover liquidated losses.
Full Analysis: ADL_PRIORITIZATION_VERIFIED.md
** Real-Time Reconstruction Reveals**: 302 accounts in negative equity
Definition of Net Equity: Net equity (also called "total equity") is calculated as:
Net Equity = Cash Balance + Total Unrealized PNL
Where:
- Cash Balance = Account value after removing initial unrealized PNL from snapshot (cash-only baseline)
- Total Unrealized PNL = Sum of unrealized profit/loss for all open positions at the ADL moment
- For long positions:
size × (current_price - entry_price) - For short positions:
abs(size) × (entry_price - current_price)
- For long positions:
Negative Net Equity occurs when Net Equity < 0, meaning the account's total value (cash + unrealized PNL) is negative. This represents bad debt that must be covered by the insurance fund.
| Metric | Value |
|---|---|
| Accounts underwater | 302 (0.86% of ADL'd) |
| Total negative net equity | −$23,191,104.48 |
| Insurance fund coverage required | $23,191,104.48 |
| Average underwater account | -$76,791.74 |
When an account's net equity (cash + unrealized PNL) goes negative, losses must be socialized:
- ADL activates to close out profitable positions
- Underwater losses get absorbed by the insurance fund
- If insurance fund insufficient -> socializes losses to remaining traders
This cascade required $23,191,104 in insurance fund coverage to prevent loss socialization.
This is the first time negative equity has been quantified for a Hyperliquid cascade:
- Processed 3.2M events chronologically (COMPLETE 12-minute window)
- Reconstructed 437,723 account states in real-time
- Calculated equity at every ADL moment
- Identified exact underwater amount
- 100% event coverage (34,983 / 34,983 ADL events)
Methodology: scripts/reconstruction/full_analysis_realtime.py
Common assumption: "BTC liquidations can trigger ETH ADL" or "ADL contagion across assets"
Analysis result: Zero cases of cross-asset ADL found
| Metric | Result |
|---|---|
| Timestamps analyzed | 100 (liquidations + ADL in same timestamp) |
| Cross-asset ADL cases | 0 (ZERO) |
| Ticker overlap | 96.74% |
| Perfect 1:1 ratio matches | 44/44 tickers at biggest burst |
- BTC liquidations cause only BTC ADL (not ETH, SOL, or other assets)
- ETH liquidations cause only ETH ADL (not BTC, SOL, or other assets)
- SOL liquidations cause only SOL ADL (not BTC, ETH, or other assets)
- Each asset has an independent ADL engine (no shared risk pool)
- 1:1 matching per asset when ADL triggers
- ADL contagion (technical): Does not exist
- Market contagion (price dynamics): Does exist
Example:
BTC crashes -> Market panic -> Traders sell all assets
v v v
BTC price v Psychology ETH price v, SOL price v
v v v
BTC liquidations ETH liquidations SOL liquidations
v v v
BTC ADL ONLY ETH ADL ONLY SOL ADL ONLY
Market contagion: YES (prices correlate)
ADL contagion: NO (ADL systems isolated)
Analysis of 100 timestamps proves:
- 0/100 cases where Asset X liquidations caused Asset Y ADL
- When 44 assets had liquidations simultaneously, each got its own ADL (no spillover)
- Perfect architectural isolation despite $7.6B cascade
Full analysis: PER_ASSET_ISOLATION.md
Complete cascade analysis now available
| Metric | Liquidations | ADL | TOTAL IMPACT |
|---|---|---|---|
| Events | 63,637 | 34,983 | 98,620 |
| Net Notional | $5.51B | $2.10B | $7.61 BILLION |
| Realized PNL | -$607.7M | $834.3M | $226.6M net |
** This represents the largest documented liquidation cascade event:**
- $7.6 BILLION in forced closures in 12 minutes
- 98,620 forced events (liquidations + ADL)
- $5.5B liquidated -> $2.1B ADL'd to cover losses
See full analysis: TOTAL_IMPACT_ANALYSIS.md (or see data/canonical/cash-only balances ADL event orderbook 2025-10-10/ADL_NET_VOLUME_FULL_12MIN.md for ADL-specific analysis)
** See: ADL_MECHANISM_RESEARCH.md**
We analyzed the largest single ADL event ($174.18M ETH) to understand how ADL is triggered using empirical blockchain data:
** See: CASCADE_TIMING_ANALYSIS.md**
Key finding: Liquidations occur in waves before ADL activates.
** See: BATCH_PROCESSING_DISCOVERY.md**
Key finding: Liquidations and ADL execute in separate, sequential batches.
Even when they share the same millisecond timestamp, liquidations and ADL are processed sequentially, not concurrently:
| Finding | Evidence |
|---|---|
| Same timestamp | Both recorded at 21:16:04.831874 |
| Different batches | 11,279 liquidations -> THEN 11,279 ADLs |
| Zero interleaving | 0% mixing across 100 analyzed timestamps |
| Universal pattern | 100% of events show liquidation -> ADL order |
The Architecture:
Block at timestamp T:
Phase 1: Process ALL liquidations (liquidation engine)
Phase 2: Calculate total losses & ADL requirements
Phase 3: Select profitable positions for ADL
Phase 4: Process ALL ADLs (ADL engine)
All events stamped with timestamp T, but sequenced internally
Why This Matters:
- Reveals internal processing order (liquidation engine -> ADL engine)
- Proves sequential dependency (ADL calculated AFTER liquidations)
- Explains visual patterns (chunks on visualization are REAL batches)
- No concurrent liquidation+ADL (clear execution phases)
Technical Detail: At the largest burst, 22,558 events occurred at the exact same millisecond, but analysis of event ordering shows perfect batch separation: events 710-11,988 were all liquidations, events 11,989-23,267 were all ADLs. Average batch run length: 11,279 events (no interleaving detected).
| Metric | Value | Insight |
|---|---|---|
| First liquidation | 0.0 seconds | Cascade starts (T+3s absolute) |
| First ADL | 61.7 seconds later | ≈62-second delay before ADL kicks in |
| Liquidations before ADL | 710 events | System tries normal methods first |
| Correlation | 0.945 | Liquidations predict ADL |
| Biggest burst | 22,558 events/second | 11,279 liqs + 11,279 ADLs |
The Pattern:
0-61s: 710 liquidations, 0 ADL ← ADL hasn't kicked in yet
62s: 11,279 liquidations + 11,279 ADL ← MASSIVE burst when threshold hit
63-180s: Alternating waves ← Liquidations → ADL → Liquidations → ADL
Why This Matters:
- ADL is NOT instantaneous – there's a ~62-second delay
- ADL activates in BURSTS (threshold-based, not continuous)
- Liquidations accumulate → Threshold reached → ADL fires
- Explains the "chunks" pattern visible on HyperFireworks visualization
The $174M ETH ADL had 265 corresponding liquidations at the EXACT same timestamp:
| Event Type | Amount | User | What Happened |
|---|---|---|---|
| Liquidations | $204.67M | 0xb0a5...540 |
265 ETH longs liquidated (losing money) |
| ADL | $174.18M | 0x2ea1...3f4 |
1 ETH short ADL'd (winning forced to close) |
Timeline:
- ETH price crashed -> User's 265 long positions hit liquidation price
- $204.67M in liquidations triggered -> Exchange needs sellers
- Profitable short holder ADL'd for $174.18M -> Provides liquidity
- Insurance/HLP fund covers remaining $30M gap
ADL is NOT random - It's triggered by liquidation events ADL provides counterparty liquidity - When liquidations happen, ADL supplies the opposite side Same-millisecond execution - Liquidation -> ADL happens instantly Profitable traders pay the price - Winners get force-closed to save losers from socialized losses
This is the first empirical documentation of ADL-liquidation coupling:
- Proves ADL is triggered BY liquidations (not independent)
- Shows exact timing relationship (same millisecond)
- Quantifies the counterparty relationship ($174M ADL <-> $205M liquidations)
- Explains why insurance funds don't cover 100% (ADL does most of the work)
Full analysis with transaction hashes, addresses, and blockchain verification: ADL_MECHANISM_RESEARCH.md
- $2.1 BILLION in forced ADL closures over 12 minutes
- BTC, ETH, SOL dominate: $1.36B (64.4% of total)
- Top 10 tickers: $1.78B (84.6% of total)
- Long tail: 152 tickers share remaining 15.4%
- 34,983 ADL events in 12 minutes
- Average: 2,915 ADLs per minute
- Peak rate: ~49 ADLs per second
- Major cryptos: BTC, ETH, SOL led the way
- Meme coins: PUMP ($57.3M), FARTCOIN ($32.0M)
- DeFi tokens: LINK ($21.5M), UNI ($8.0M), AAVE ($2.5M)
- New launches: HYPE ($189.9M), XPL ($65.8M)
- $834.3M in realized PNL forced to close
- Most profitable ticker: XPL ($119.4M), ETH ($110.6M), FARTCOIN ($68.3M)
- Average PNL per event: $23,844
- README.md - This file - repository overview
- docs/methodology/COMPLETE_METHODOLOGY.md - Complete methodology guide
- docs/findings/ - All research findings and discoveries
- docs/analysis/ - Analysis reports
- docs/reports/ - Verification and audit reports
- data/canonical/cash-only balances ADL event orderbook 2025-10-10/ - Canonical processed data
adl_detailed_analysis_REALTIME.csv- 34,983 ADL events with real-time metricsadl_fills_full_12min_raw.csv- Raw ADL fillsliquidations_full_12min.csv- Liquidation events
- data/raw/ - Raw analysis outputs
- scripts/analysis/ - Analysis scripts (9 scripts)
- scripts/reconstruction/ - Account reconstruction scripts
- scripts/verification/ - Verification and testing scripts
- scripts/data/ - Data extraction scripts
| Rank | Ticker | Net Notional | # Events | Total PNL |
|---|---|---|---|---|
| 1 | BTC | $620.9M | 2,443 | $72.8M |
| 2 | ETH | $458.0M | 1,498 | $110.6M |
| 3 | SOL | $276.2M | 3,031 | $69.1M |
| 4 | HYPE | $189.9M | 6,229 | $51.7M |
| 5 | XPL | $65.8M | 2,984 | $119.4M |
| 6 | PUMP | $57.3M | 1,868 | $31.5M |
| 7 | ENA | $42.5M | 360 | $50.2M |
| 8 | AVAX | $36.6M | 407 | $23.8M |
| 9 | FARTCOIN | $32.0M | 1,999 | $68.3M |
| 10 | XRP | $31.4M | 607 | $13.3M |
| 11 | ASTER | $27.2M | 431 | $15.4M |
| 12 | LINK | $21.5M | 259 | $12.6M |
| 13 | LTC | $21.1M | 197 | $6.7M |
| 14 | ZEC | $18.9M | 400 | $2.5M |
| 15 | DOGE | $16.5M | 249 | $10.5M |
| 16 | SUI | $13.4M | 442 | $9.9M |
| 17 | PENGU | $10.6M | 372 | $9.2M |
| 18 | MNT | $10.1M | 211 | $5.6M |
| 19 | IP | $9.3M | 270 | $6.4M |
| 20 | TAO | $8.7M | 167 | $5.8M |
| Metric | 2-Minute Sample | Full 12-Minute | Scaling Factor |
|---|---|---|---|
| Time Window | 21:15-21:17 UTC | 21:15-21:27 UTC | 6.0x |
| Total Notional | $285.5M | $2,103.1M | 7.37x |
| Total Events | 14,194 | 34,983 | 2.46x |
| Assets | 65 tickers | 162 tickers | 2.49x |
Why 7.37x instead of 6x?
- ADL events were not evenly distributed over time
- Peak activity around 21:19-21:20 UTC (after the 2-min sample)
- The 2-minute sample (21:15-21:17) was relatively early in the event
Auto-Deleveraging (ADL) is Hyperliquid's mechanism to manage liquidations during extreme market volatility:
- When positions are liquidated but can't be closed by the liquidation engine
- The protocol force-closes the most profitable opposing positions
- This is called "Auto-Deleveraging" (ADL)
Net Volume = Sum of all position sizes that were ADL'd per ticker Net Notional = Sum of (position size × price) for all ADL'd positions
- File:
node_fills_20251010_21.lz4(S3 bucket) - Total fills analyzed: 1,424,266 fills
- ADL fills: 34,983 (2.5% of all fills)
- Filtered: Excluded @ tokens (spot positions)
# Net Volume per ticker
net_volume = sum(size) for all ADL events per ticker
# Net Notional per ticker
net_notional = sum(size × price) for all ADL events per ticker
# Total Realized PNL per ticker
total_pnl = sum(closed_pnl) for all ADL events per ticker- Direction = "Auto-Deleveraging" (blockchain label)
- Exclude tickers starting with "@" (spot positions)
- Time window: 21:15:00 - 21:27:00 UTC (full 12 minutes)
Data Source:
- Complete 12-minute dataset (not a sample)
- Only fills with explicit "Auto-Deleveraging" label from blockchain data
- No heuristics: Direct from S3 node_fills
- Spot positions excluded: @ tokens filtered out
- Cross-validated: Matches expected event timeline
Source: Hyperliquid S3 node_fills_20251010_21.lz4
Processing time: ~30 seconds
Records: 42,893 blocks -> 1.42M fills -> 34,983 ADL events
Quick view (CSV):
open adl_net_volume_full_12min.csvDetailed report (Markdown):
open "data/canonical/cash-only balances ADL event orderbook 2025-10-10/ADL_NET_VOLUME_FULL_12MIN.md"Individual fills:
open "data/canonical/cash-only balances ADL event orderbook 2025-10-10/adl_fills_full_12min_raw.csv"python3 scripts/data/extract_full_12min_adl.pyimport pandas as pd
df = pd.read_csv('adl_net_volume_full_12min.csv')
print(f"Total: ${df['net_notional_usd'].sum():,.0f}")
# Top 10 tickers
print(df.nlargest(10, 'net_notional_usd'))
# BTC stats
btc = df[df['ticker'] == 'BTC'].iloc[0]
print(f"BTC: ${btc['net_notional_usd']:,.0f} across {btc['num_adl_events']} events")- ADL mechanism analysis (largest known event)
- Market concentration studies ($2.1B in 12 minutes)
- Liquidity crisis behavior
- Cross-asset contagion effects
- Forced closure impact on traders
Event-Level (All Datasets):
- How effective is ADL? -> $2.1B processed in 12 minutes
- Which assets are most affected? -> BTC, ETH, SOL dominate
- How concentrated is ADL? -> Top 3 = 64.4% of volume
- What's the trader impact? -> $834M in forced PNL closures
- How fast does it happen? -> 2,915 ADLs per second at peak
Account-Level (NEW - With Clearinghouse Data):
6. What leverage do ADL'd positions have? -> Median 0.20x; 95th percentile 5.10x (below 40x max); 99th percentile 122.69x (outliers from liquidation delays - see docs/findings/HIGH_LEVERAGE_OUTLIERS_EXPLANATION.md)
7. How profitable are ADL'd positions? -> 99.4% profitable, avg +85.9% PNL
8. Does ADL target high leverage? -> NO - targets high PROFIT
9. What are entry prices? -> Calculated for 34,983 positions (100% coverage)
10. Which accounts have highest risk? -> Tracked across 437,723 accounts
Event Data:
ADL Net Volume Analysis (2025). "Auto-Deleveraging Volume Analysis:
October 10, 2025 Market Event - Full 12-Minute Window."
Data: Hyperliquid S3 node_fills (ADL events from blockchain data).
Time: 21:15:00 - 21:27:00 UTC.
Total: $2.10B across 162 tickers, 34,983 events.
Clearinghouse Analysis (NEW):
ADL Prioritization Analysis (2025). "Real-Time Account Reconstruction:
October 10, 2025 Market Event (12-minute cascade)."
Data: Hyperliquid clearinghouse snapshot (Block 758750000) + full event stream (3,239,706 events).
Coverage: 34,983 ADL events with real-time leverage, entry prices, and equity.
Key Finding: ADL targets PROFIT (99.4% profitable), not leverage (median 0.20x).
For researchers analyzing individual positions, here's what data we have:
Real-time reconstruction complete - All metrics calculated at exact ADL moment for the full 12-minute cascade
| What You Need | Column Name | Description |
|---|---|---|
| Absolute PNL | position_unrealized_pnl |
Unrealized PNL at ADL time (real-time) |
closed_pnl |
Realized PNL from blockchain | |
| % PNL | pnl_percent |
Percentage PNL (unrealized_pnl / notional × 100) |
| Leverage ratio (REAL-TIME) | leverage_realtime |
Position notional / real-time account value |
| Side (long/short) | position_size |
Positive = LONG, Negative = SHORT |
| Whether ADL'd | All rows | Every row is an ADL'd position |
| Entry price | entry_price |
Calculated from fills |
| ADL price | adl_price |
Price at which ADL occurred |
| Account value (REAL-TIME) | account_value_realtime |
Reconstructed at ADL moment |
| Total unrealized PNL | total_unrealized_pnl |
All positions, real-time prices |
| Net equity (total equity) | total_equity |
Cash + total unrealized PNL |
| Negative equity | is_negative_equity |
TRUE if equity < 0 |
| Position size | position_size |
Size of position before ADL |
| Notional value | adl_notional |
Position value (size × price) |
| Asset | coin |
Ticker (BTC, ETH, SOL, etc.) |
| Timestamp | time |
Milliseconds since epoch |
| User address | user |
Anonymized address |
| Liquidated counterparty | liquidated_user |
Who got liquidated |
We processed 3.2M events to reconstruct exact account states (FULL 12-minute cascade):
Data processed:
- Snapshot at block 758750000 (20:04:54 UTC) - 437,723 accounts
- All fills with
closedPnl(3.2M fills processed) - All funding events (from misc events)
- All deposits/withdrawals (from ledger updates)
- Real-time price tracking (last traded price per asset)
Reconstruction process:
- Started with snapshot account values
- Looped through all 3,239,706 events chronologically (FULL 12 minutes)
- Updated account value:
account_value += closedPnlfor each fill - Processed funding events from misc events
- Processed deposit/withdrawal events
- Calculated unrealized PNL using real-time prices
- Got account value at exact ADL moment
Results:
- Real-time account values at every ADL moment
- Accurate negative equity detection (302 accounts identified)
- Precise leverage ratios (median 0.20x)
- Insurance fund impact quantified ($23,191,104)
- 100% event coverage (34,983 ADL events)
Methodology: scripts/reconstruction/full_analysis_realtime.py
Option 1: Download from GitHub
# Clone repository
git clone https://github.com/ConejoCapital/HyperMultiAssetedADL.git
cd HyperMultiAssetedADL
# Open the REAL-TIME analysis file
# Contains 34,983 rows (one per ADL'd position with real-time data)
# This is 100% coverage of the FULL 12-minute cascade
open data/canonical/cash-only balances ADL event orderbook 2025-10-10/adl_detailed_analysis_REALTIME.csvOption 2: Load in Python
import pandas as pd
# Load canonical real-time data
df = pd.read_csv('data/canonical/cash-only balances ADL event orderbook 2025-10-10/adl_detailed_analysis_REALTIME.csv')
# Quick sanity checks (should match README claims)
print('Events:', len(df))
print('Median leverage:', df['leverage_realtime'].median())
print('95th percentile leverage:', df['leverage_realtime'].quantile(0.95))
print('Profitable positions:', (df['pnl_percent'] > 0).sum())
print('Negative equity accounts:', df['is_negative_equity'].sum())
print('Total negative equity:', df.loc[df['is_negative_equity'], 'total_equity'].sum())Run
python3 scripts/verification/verify_all_findings.pyfor the full automated test suite.
data/canonical/cash-only balances ADL event orderbook 2025-10-10/adl_detailed_analysis_REALTIME.csv columns:
user– User address (string)coin– Asset ticker (string)time– Timestamp in milliseconds (int)adl_price– ADL execution price (float)adl_size– Size ADL'd (float, negative = short)adl_notional– Notional value (float, always positive)closed_pnl– Realized PNL from blockchain (float)position_size– Position size before ADL (float)entry_price– Weighted-average entry price (float)account_value_realtime– Account value reconstructed at ADL moment (float)total_unrealized_pnl– Unrealized PNL across all positions at ADL time (float)total_equity– Net equity: Cash + total unrealized PNL (float)is_negative_equity– TRUE iftotal_equity< 0 (bool)leverage_realtime– Position notional / real-time account value (float)position_unrealized_pnl– Unrealized PNL for this position (float)pnl_percent– Percentage PNL (float)liquidated_user– Counterparty address if available (string)
- How to reproduce this analysis?: See
docs/methodology/COMPLETE_METHODOLOGY.md← START HERE - What data sources were used?: See
docs/methodology/COMPLETE_METHODOLOGY.md(Section: Data Sources) - How to obtain clearinghouse data?: See
docs/methodology/COMPLETE_METHODOLOGY.md(Section: Data Acquisition) - How to reconcile multiple data sources?: See
docs/methodology/COMPLETE_METHODOLOGY.md(Section: Data Reconciliation)
- ADL prioritization?: See
docs/findings/ADL_PRIORITIZATION_VERIFIED.md - Per-asset isolation?: See
docs/findings/PER_ASSET_ISOLATION.md - Why separate chunks?: See
docs/analysis/BATCH_PROCESSING_DISCOVERY.md - When does ADL activate?: See
docs/analysis/CASCADE_TIMING_ANALYSIS.md - How ADL works: See
docs/findings/ADL_MECHANISM_RESEARCH.md
- Net volume analysis: See
data/canonical/cash-only balances ADL event orderbook 2025-10-10/ADL_NET_VOLUME_FULL_12MIN.md - Processing scripts:
scripts/data/extract_full_12min_adl.py,scripts/reconstruction/full_analysis_realtime.py,scripts/verification/verify_all_findings.py - Individual fills:
data/canonical/cash-only balances ADL event orderbook 2025-10-10/adl_fills_full_12min_raw.csv(blockchain ADL events)
Canonical Outputs (Real-Time):
data/canonical/cash-only balances ADL event orderbook 2025-10-10/adl_detailed_analysis_REALTIME.csv– 34,983 ADL events with real-time metrics (canonical dataset)data/canonical/cash-only balances ADL event orderbook 2025-10-10/adl_by_user_REALTIME.csv– 19,337 user-level aggregationsdata/canonical/cash-only balances ADL event orderbook 2025-10-10/adl_by_coin_REALTIME.csv– 162 asset-level aggregationsdata/canonical/cash-only balances ADL event orderbook 2025-10-10/realtime_analysis_summary.json– Summary statisticsdocs/reports/FINDINGS_VERIFICATION_REPORT.md– Comprehensive verification resultsdocs/reports/LEVERAGE_CORRECTION.md– Explanation of leverage statistics
Supporting Raw Data:
data/canonical/cash-only balances ADL event orderbook 2025-10-10/adl_fills_full_12min_raw.csv– Raw ADL fills (blockchain)data/canonical/cash-only balances ADL event orderbook 2025-10-10/liquidations_full_12min.csv– Raw liquidation fills (for isolation tests)data/raw/ADL_ORDERS_COMPLETE_LIST.csv– Complete list of all ADL ordersdata/raw/high_leverage_outliers_analysis.csv– High leverage outlier analysis data
Scripts:
scripts/reconstruction/full_analysis_realtime.py– Real-time reconstruction pipelinescripts/data/analyze_clearinghouse.py– Clearinghouse data loaderscripts/data/extract_full_12min_adl.py– ADL data extractionscripts/verification/verify_all_findings.py– Automated verification suitescripts/analysis/– All analysis scripts (9 scripts)
- Position-level Analysis:
~/Desktop/ADL Clean/(BTC & SOL positions) - GitHub Repository: https://github.com/ConejoCapital/HyperAnalyzeADL
- Data Verification:
~/Desktop/SonarX Data Verification/
- $2.1 BILLION in 12 minutes
- 162 tickers affected
- 34,983 events processed
- Data from blockchain events
Event-Level Data:
- Full 12-minute event (not sampled)
- All assets (not just BTC/SOL)
- Individual fill data included
- Reproducible code provided
Account-Level Data (NEW - Clearinghouse):
- 437,723 accounts reconstructed in real-time
- 3,239,706 events processed chronologically (fills, funding, deposits)
- 34,983 ADL events with real-time leverage, PNL, entry price
- 302 negative-equity accounts (insurance impact quantified)
- First analysis with complete protocol state and real-time account values
- Data from blockchain events (no heuristics)
- Comprehensive documentation
- Raw data available (event + clearinghouse)
- Methodology fully explained
- Zero speculation - all empirical
Analysis Date: November 13, 2025 (Canonical Replay)
Data Quality: Blockchain event data + real-time clearinghouse reconstruction
Time Coverage: FULL 12-minute event (21:15:00 - 21:27:00 UTC)
Scope: All 162 affected tickers + 437,723 accounts
Status: COMPLETE – Event + Account-Level Data – Ready for research and publication