{"ok":true,"paperOnly":true,"marketData":"public-read-only","execution":"paper-only","product":"TradersLand","kind":"structure-shortlist","methodVersion":"structure-v1","flagVersion":"liq-fresh-v1","fetchedAt":1792618195218,"timeframe":"4h","stageFilter":"prebreakout","requireLiquidity":true,"coverage":{"listed":1991,"scanned":40,"returned":17,"warnedThin":0,"unavailableVenues":[]},"rows":[{"id":"binance:HYPEUSDT:linear-perp:USDT:1","venue":"binance","rawId":"HYPEUSDT","display":"HYPE-USDT","base":"HYPE","notional24h":656395695.50979,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.619,"structure":{"stage":"breakout_watch","stageReason":"pressing top of defined range while width stays tight","score":0.619,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.08816742812312515,"score":0.7347285676927097,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":20,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.07944243832226461,"score":0.33797968064779493,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.2430853901665109,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":10,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.4885560398689153,"score":0.860695049836144,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":58.94848579013957,"score":0.15,"reason":"wilder","earlier":53.92421415525309,"lift":5.024271634886482,"oversold":35},{"id":"distance_to_resistance","value":0.006691115752659469,"score":1,"reason":"pressing range high","baseHigh":82.348,"baseLow":76.056,"close":81.797}],"invalidation":{"kind":"close_through_base_low","level":76.056,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":656395695.50979,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"okx:SOL-USDT-SWAP:linear-perp:USDT:1","venue":"okx","rawId":"SOL-USDT-SWAP","display":"SOL-USDT","base":"SOL","notional24h":686245728.795,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.579,"structure":{"stage":"breakout_watch","stageReason":"pressing top of defined range while width stays tight","score":0.579,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.06595974119338609,"score":0.549664509944884,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":18,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.07575031163102879,"score":0.36874740307476006,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.0710404781309433,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":10,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.2224065612975012,"score":0.5280082016218764,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":62.25386773461769,"score":0.15,"reason":"wilder","earlier":56.981985133988076,"lift":5.271882600629617,"oversold":35},{"id":"distance_to_resistance","value":0,"score":1,"reason":"pressing range high","baseHigh":108.24,"baseLow":100.34,"close":108.24}],"invalidation":{"kind":"close_through_base_low","level":100.34,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":686245728.795,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"okx:SNDK-USDT-SWAP:linear-perp:USDT:1","venue":"okx","rawId":"SNDK-USDT-SWAP","display":"SNDK-USDT","base":"SNDK","notional24h":924943643.7387999,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.572,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.572,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.20674450378834933,"score":1,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":20,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.13069602537786892,"score":0,"reason":"wide range","maxRangePct":0.12},{"id":"vol_contraction","value":1.4561844863731663,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":9,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.5470144226330325,"score":0.9337680282912905,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":52.89770277618816,"score":0.15,"reason":"wilder","earlier":59.56322613702509,"lift":-6.665523360836929,"oversold":35},{"id":"distance_to_resistance","value":0.03299936943880047,"score":0.6,"reason":"above mid-range","baseHigh":1427.3,"baseLow":1252.2,"close":1380.2}],"invalidation":{"kind":"close_through_base_low","level":1252.2,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":924943643.7387999,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"okx:SOXL-USDT-SWAP:linear-perp:USDT:1","venue":"okx","rawId":"SOXL-USDT-SWAP","display":"SOXL-USDT","base":"SOXL","notional24h":469100467.14750004,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.554,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.554,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.3482877434779551,"score":1,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":20,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.18903843201473824,"score":0,"reason":"wide range","maxRangePct":0.12},{"id":"vol_contraction","value":1.5348237162137794,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":8,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":false},{"id":"relative_volume","value":1.2691447912490106,"score":0.5864309890612631,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":53.60301780772914,"score":0.15,"reason":"wilder","earlier":56.31677295048964,"lift":-2.7137551427605047,"oversold":35},{"id":"distance_to_resistance","value":0.033289695156162355,"score":0.6,"reason":"above mid-range","baseHigh":106.94,"baseLow":88.47,"close":103.38}],"invalidation":{"kind":"close_through_base_low","level":88.47,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":469100467.14750004,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"okx:XRP-USDT-SWAP:linear-perp:USDT:100","venue":"okx","rawId":"XRP-USDT-SWAP","display":"XRP-USDT","base":"XRP","notional24h":293168901.0124,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.547,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.547,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.0796679909194098,"score":0.663899924328415,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":17,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.06975045180143809,"score":0.4187462349880159,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.2753005774874562,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":12,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.6034417245713497,"score":1,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":72.0487262532795,"score":0.15,"reason":"wilder","earlier":59.10035609304757,"lift":12.948370160231924,"oversold":35},{"id":"distance_to_resistance","value":-0.03158207624284774,"score":0.2,"reason":"above mid-range","baseHigh":1.3457,"baseLow":1.255,"close":1.3882}],"invalidation":{"kind":"close_through_base_low","level":1.255,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":293168901.0124,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"binance:XRPUSDT:linear-perp:USDT:1","venue":"binance","rawId":"XRPUSDT","display":"XRP-USDT","base":"XRP","notional24h":673637211.2624,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.539,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.539,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.07946080170273138,"score":0.6621733475227616,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":17,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.06980856461905127,"score":0.41826196150790607,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.2836705111237137,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":12,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.4646272722060385,"score":0.8307840902575481,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":72.01788008133919,"score":0.15,"reason":"wilder","earlier":59.07301116598375,"lift":12.944868915355435,"oversold":35},{"id":"distance_to_resistance","value":-0.031275536735755165,"score":0.2,"reason":"above mid-range","baseHigh":1.3461,"baseLow":1.2553,"close":1.3882}],"invalidation":{"kind":"close_through_base_low","level":1.2553,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":673637211.2624,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"bybit:XRPUSDT:linear-perp:USDT:1","venue":"bybit","rawId":"XRPUSDT","display":"XRP-USDT","base":"XRP","notional24h":291522175.825,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.534,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.534,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.0796679909194098,"score":0.663899924328415,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":17,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.06995694956949566,"score":0.41702542025420275,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.3007129787368308,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":12,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.389961017072908,"score":0.7374512713411349,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":72.1710933110274,"score":0.15,"reason":"wilder","earlier":59.061158001451766,"lift":13.10993530957564,"oversold":35},{"id":"distance_to_resistance","value":-0.031196612939166632,"score":0.2,"reason":"above mid-range","baseHigh":1.3463,"baseLow":1.2553,"close":1.3883}],"invalidation":{"kind":"close_through_base_low","level":1.2553,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":291522175.825,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"binance:NEARUSDT:linear-perp:USDT:1","venue":"binance","rawId":"NEARUSDT","display":"NEAR-USDT","base":"NEAR","notional24h":826389033.588,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.532,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.532,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.1642069550466497,"score":1,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":16,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.10645062044918473,"score":0.11291149625679386,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.30887636375622,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":11,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.2811095167797149,"score":0.6013868959746435,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":60.817241834572165,"score":0.15,"reason":"wilder","earlier":50.08718636693665,"lift":10.730055467635516,"oversold":35},{"id":"distance_to_resistance","value":-0.033495618305745004,"score":0.2,"reason":"above mid-range","baseHigh":5.135,"baseLow":4.616,"close":5.307}],"invalidation":{"kind":"close_through_base_low","level":4.616,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":826389033.588,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"bybit:NEARUSDT:linear-perp:USDT:1","venue":"bybit","rawId":"NEARUSDT","display":"NEAR-USDT","base":"NEAR","notional24h":358600593.821,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.532,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.532,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.16423481506616897,"score":1,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":16,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.10649430594028934,"score":0.11254745049758874,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.3135663135663125,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":11,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.2871906761623022,"score":0.6089883452028777,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":60.6970571973422,"score":0.15,"reason":"wilder","earlier":50.072005138267514,"lift":10.625052059074683,"oversold":35},{"id":"distance_to_resistance","value":-0.033508669394116446,"score":0.2,"reason":"above mid-range","baseHigh":5.133,"baseLow":4.614,"close":5.305}],"invalidation":{"kind":"close_through_base_low","level":4.614,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":358600593.821,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"binance:ENAUSDT:linear-perp:USDT:1","venue":"binance","rawId":"ENAUSDT","display":"ENA-USDT","base":"ENA","notional24h":298219076.42032,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.529,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.529,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.20302430394675886,"score":1,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":16,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.151937655728145,"score":0,"reason":"wide range","maxRangePct":0.12},{"id":"vol_contraction","value":1.4016167209276484,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":12,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.505595134501888,"score":0.88199391812736,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":68.05401798661195,"score":0.15,"reason":"wilder","earlier":54.667071949564395,"lift":13.386946037047558,"oversold":35},{"id":"distance_to_resistance","value":-0.07001379582183681,"score":0.2,"reason":"above mid-range","baseHigh":0.20296,"baseLow":0.1743,"close":0.21717}],"invalidation":{"kind":"close_through_base_low","level":0.1743,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":298219076.42032,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"okx:NEAR-USDT-SWAP:linear-perp:USDT:10","venue":"okx","rawId":"NEAR-USDT-SWAP","display":"NEAR-USDT","base":"NEAR","notional24h":281396567.004,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.523,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.523,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.16412084181941625,"score":1,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":16,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.10666666666666658,"score":0.11111111111111183,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.3155105015570134,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":11,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.1356656109904517,"score":0.4195820137380646,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":60.77835934846179,"score":0.15,"reason":"wilder","earlier":50.04770282230516,"lift":10.73065652615663,"oversold":35},{"id":"distance_to_resistance","value":-0.03330087633885107,"score":0.2,"reason":"above mid-range","baseHigh":5.135,"baseLow":4.615,"close":5.306}],"invalidation":{"kind":"close_through_base_low","level":4.615,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":281396567.004,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"okx:ZEC-USDT-SWAP:linear-perp:USDT:0.01","venue":"okx","rawId":"ZEC-USDT-SWAP","display":"ZEC-USDT","base":"ZEC","notional24h":1551687508.3268003,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.513,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.513,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.11466146261942266,"score":0.9555121884951888,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":18,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.21149366440547815,"score":0,"reason":"wide range","maxRangePct":0.12},{"id":"vol_contraction","value":1.2342678632885922,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":14,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.3495844362070006,"score":0.6869805452587507,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":74.15640607881608,"score":0.15,"reason":"wilder","earlier":64.41603036455155,"lift":9.74037571426453,"oversold":35},{"id":"distance_to_resistance","value":-0.04652436954038951,"score":0.2,"reason":"above mid-range","baseHigh":1295.88,"baseLow":1048.02,"close":1356.17}],"invalidation":{"kind":"close_through_base_low","level":1048.02,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":1551687508.3268003,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"binance:DOGEUSDT:linear-perp:USDT:1","venue":"binance","rawId":"DOGEUSDT","display":"DOGE-USDT","base":"DOGE","notional24h":259247966.42338,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.512,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.512,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.08450541849204524,"score":0.7042118207670437,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":18,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.07907035493242393,"score":0.341080375563134,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":0.9338969704504938,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":12,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.1177209575704092,"score":0.3971511969630115,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":61.66452769950288,"score":0.15,"reason":"wilder","earlier":59.041715786822934,"lift":2.6228119126799427,"oversold":35},{"id":"distance_to_resistance","value":-0.0072904009720535035,"score":0.2,"reason":"above mid-range","baseHigh":0.0823,"baseLow":0.07604,"close":0.0829}],"invalidation":{"kind":"close_through_base_low","level":0.07604,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":259247966.42338,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"binance:ZECUSDT:linear-perp:USDT:1","venue":"binance","rawId":"ZECUSDT","display":"ZEC-USDT","base":"ZEC","notional24h":2040918004.37,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.509,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.509,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.11487164216531355,"score":0.9572636847109462,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":18,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.21133604966188116,"score":0,"reason":"wide range","maxRangePct":0.12},{"id":"vol_contraction","value":1.2128190511320136,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":14,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.281215775870552,"score":0.60151971983819,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":74.16150492963561,"score":0.15,"reason":"wilder","earlier":64.41587103585854,"lift":9.745633893777068,"oversold":35},{"id":"distance_to_resistance","value":-0.04673705007100076,"score":0.2,"reason":"above mid-range","baseHigh":1295.76,"baseLow":1048.09,"close":1356.32}],"invalidation":{"kind":"close_through_base_low","level":1048.09,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":2040918004.37,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"binance:SOLUSDT:linear-perp:USDT:1","venue":"binance","rawId":"SOLUSDT","display":"SOL-USDT","base":"SOL","notional24h":1485287179.4145,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.505,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.505,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.06603773584905655,"score":0.5503144654088046,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":18,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.07546627031692002,"score":0.3711144140256665,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.0678595773687811,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":10,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.3035401900259092,"score":0.6294252375323863,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":62.27886873923298,"score":0.15,"reason":"wilder","earlier":56.95323048858873,"lift":5.3256382506442534,"oversold":35},{"id":"distance_to_resistance","value":-0.0002772130844575969,"score":0.2,"reason":"above mid-range","baseHigh":108.22,"baseLow":100.35,"close":108.25}],"invalidation":{"kind":"close_through_base_low","level":100.35,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":1485287179.4145,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"bybit:ZECUSDT:linear-perp:USDT:1","venue":"bybit","rawId":"ZECUSDT","display":"ZEC-USDT","base":"ZEC","notional24h":427503418.0765,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.505,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.505,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.11503800642582868,"score":0.9586500535485724,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":18,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.21162802599928357,"score":0,"reason":"wide range","maxRangePct":0.12},{"id":"vol_contraction","value":1.215992210407637,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":13,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.2229994453260387,"score":0.5287493066575483,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":74.18110413876391,"score":0.15,"reason":"wilder","earlier":64.42165568101444,"lift":9.759448457749471,"oversold":35},{"id":"distance_to_resistance","value":-0.04665262768148457,"score":0.2,"reason":"above mid-range","baseHigh":1296.39,"baseLow":1048.29,"close":1356.87}],"invalidation":{"kind":"close_through_base_low","level":1048.29,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":427503418.0765,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}},{"id":"bybit:SOLUSDT:linear-perp:USDT:1","venue":"bybit","rawId":"SOLUSDT","display":"SOL-USDT","base":"SOL","notional24h":411311564.933,"timeframe":"4h","chartPath":"/workspace#scanner","shortlistScore":0.496,"structure":{"stage":"early_lift","stageReason":"constructive push out of base: higher lows / mid-range / RSI recovery","score":0.496,"methodVersion":"structure-v1","components":[{"id":"decline_context","value":0.06621743036837367,"score":0.5518119197364473,"reason":"prior decline present","lookback":40},{"id":"base_duration","value":18,"score":1,"reason":"base duration met","minBars":8},{"id":"base_range","value":0.07576484127745282,"score":0.3686263226878931,"reason":"compressed range","maxRangePct":0.12},{"id":"vol_contraction","value":1.0665173420213132,"score":0,"reason":"volatility not contracting","maxRatio":0.75},{"id":"higher_lows","value":10,"score":1,"reason":"higher lows emerging","minCount":2,"risingTroughs":true},{"id":"relative_volume","value":1.1746095232221259,"score":0.46826190402765727,"reason":"volume expanding vs base"},{"id":"rsi_recovery","value":62.32630896359254,"score":0.15,"reason":"wilder","earlier":57.03832415574763,"lift":5.287984807844907,"oversold":35},{"id":"distance_to_resistance","value":-0.00036961744594350633,"score":0.2,"reason":"above mid-range","baseHigh":108.22,"baseLow":100.32,"close":108.26}],"invalidation":{"kind":"close_through_base_low","level":100.32,"note":"Decisive close back through the base low with expanding range invalidates the structure label."},"lastClosedAt":1792598400000,"label":"structure resemblance — not rally probability or a trade instruction"},"flags":{"liquidityPass":true,"freshnessPass":true,"fresh":true,"stale":false,"thin":false,"reasons":[],"candidateEligible":true,"browseAllowed":true,"metrics":{"notional24h":411311564.933,"spreadBps":null,"depth":null,"lastClosedAt":1792612800000,"ageMs":5395218,"staleMs":28800000,"timeframe":"4h"},"version":"liq-fresh-v1"}}],"note":"Explainable structure shortlist (base / early-lift / breakout-watch). Components and liquidity/freshness flags are separate. Not a forecast. Paper desk only."}