<style>
/* ============================================ CSS Variables ============================================ */
:root { --color-dark: #0f1317; --color-white: white; --color-white-15: #2f3437; --color-white-muted-text: rgba(255, 255, 255, 0.5); --color-white-border: rgba(255, 255, 255, 0.25); --panel-grey: #191d21; --color-text-primary: #ffffff; --color-text-secondary: rgba(255, 255, 255, 0.6); --color-text-muted: rgba(255, 255, 255, 0.4); --color-divider: rgba(255, 255, 255, 0.08); --font-body: 'BDO Grotesk', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-tiempos: 'Tiempos Headline S', 'Times New Roman', serif; --font-badges: 'DM Mono', monospace; --type-base-unit: 15px; --type-small-size: 12px; --gap-base: 24px; --gap-0-125x: 3px; --gap-0-25x: 6px; --gap-0-5x: 12px; --gap-0-75x: 18px; --gap-1-5x: 36px; --gap-2x: 48px; --gap-3x: 72px;
} /* ============================================ Base ============================================ */ /* ============================================ Report Scroll Container ============================================ */
.rp-scroll { font-family: var(--font-body); color: var(--color-white); font-size: var(--type-base-unit); line-height: 1.5; flex: 1; overflow-y: auto; padding: var(--gap-1-5x); } .report-content-container { max-width: 800px; margin: 0 auto;
} /* ============================================ Report Header ============================================ */
.report-header { margin-bottom: var(--gap-base); padding-bottom: var(--gap-base); box-shadow: inset 0 -1px 0 0 var(--color-white-15);
} .report-title { font-family: var(--font-tiempos); font-size: 32px; font-weight: 300; color: var(--color-white); margin: 0 0 8px 0; line-height: 1.2;
} .report-meta { display: flex; gap: var(--gap-base); margin-top: var(--gap-0-5x);
} .report-meta-item { display: flex; align-items: center; gap: var(--gap-0-25x); font-size: var(--type-small-size);
} .report-meta-item .label { color: var(--color-white-muted-text);
} .report-meta-item .value { color: var(--color-white); font-family: var(--font-badges);
} /* ============================================ Sections ============================================ */
.report-section { margin-bottom: var(--gap-1-5x);
} .section-title { font-family: var(--font-tiempos); font-size: 20px; font-weight: 300; color: var(--color-white); margin: 0 0 var(--gap-0-5x) 0; padding-bottom: var(--gap-0-25x); box-shadow: inset 0 -1px 0 0 var(--color-white-15);
} .report-paragraph { font-size: var(--type-base-unit); line-height: 1.7; color: var(--color-white); opacity: 0.85; margin: 0 0 var(--gap-base) 0;
} .report-paragraph.italic { font-style: italic; color: var(--color-white-muted-text);
} /* ============================================ Intro Summary (Reporting Week Summary) ============================================ */
.intro-summary { display: flex; flex-direction: column; max-width: 400px;
} .intro-summary-title { font-size: var(--type-small-size); font-weight: 600; color: var(--color-white); margin-bottom: var(--gap-0-5x);
} .intro-summary-row { display: flex; justify-content: space-between; font-size: var(--type-small-size); line-height: 1.5;
} .intro-summary-label { font-weight: 600; color: var(--color-white);
} .intro-summary-value { font-family: var(--font-badges); font-weight: 500; text-transform: uppercase;
} .intro-summary-value.signal-stable { color: #4ade80; }
.intro-summary-value.signal-caution { color: #fbbf24; }
.intro-summary-value.signal-warning { color: #f87171; } /* ============================================ Subsections ============================================ */
.subsection { margin-bottom: var(--gap-base);
} .subsection-title { font-family: var(--font-tiempos); font-size: 18px; font-weight: 400; color: var(--color-white); line-height: 1.35; margin: 0 0 var(--gap-0-5x) 0;
} /* ============================================ Tables ============================================ */
.report-table-wrap { margin: var(--gap-0-75x) 0; overflow-x: auto;
} .venue-table { width: 100%; border-collapse: collapse; font-size: var(--type-small-size);
} .venue-table thead { background-color: var(--panel-grey);
} .venue-table th { text-align: left; padding: var(--gap-0-5x); font-weight: 500; color: var(--color-white-muted-text); box-shadow: inset 0 -1px 0 0 var(--color-white-15);
} .venue-table th.text-right,
.venue-table td.text-right { text-align: right;
} .venue-table th.text-center,
.venue-table td.text-center { text-align: center;
} .venue-table tbody tr { box-shadow: inset 0 -1px 0 0 var(--color-white-15);
} .venue-table tbody tr:hover { background-color: var(--panel-grey);
} .venue-table td { padding: var(--gap-0-5x); color: var(--color-white);
} .venue-table .venue-name { font-weight: 500;
} .venue-table .mono { font-family: var(--font-badges);
} .venue-table .positive { color: #4ade80; }
.venue-table .negative { color: #f87171; }
.venue-table .neutral { color: var(--color-white-muted-text); } /* ============================================ Depth Matrix ============================================ */
.depth-matrix .depth-deep { color: #4ade80; }
.depth-matrix .depth-normal { color: var(--color-white); }
.depth-matrix .depth-thin { color: #fbbf24; }
.depth-matrix .depth-shallow { color: #f87171; }
.depth-matrix .depth-none { color: var(--color-white-muted-text); } /* ============================================ Source Label ============================================ */
.source-label { font-size: var(--type-small-size); color: var(--color-white-muted-text); margin: var(--gap-0-5x) 0;
} .source-label span { font-weight: 500; color: var(--color-white);
} /* ============================================ Key Takeaway ============================================ */
.key-takeaway { margin: var(--gap-0-75x) 0; padding: var(--gap-0-5x) var(--gap-0-75x); background-color: var(--panel-grey); border-left: 2px solid #4ade80;
} .takeaway-label { font-weight: 600; color: var(--color-white);
} /* ============================================ Methodology ============================================ */
.methodology-block { margin-top: var(--gap-0-75x); padding: var(--gap-0-5x) var(--gap-0-75x); background-color: var(--panel-grey); border-left: 2px solid var(--color-white-15);
} .methodology-title { font-size: var(--type-small-size); font-weight: 600; color: var(--color-white-muted-text); margin: 0 0 var(--gap-0-25x) 0;
} .methodology-text { font-size: var(--type-small-size); color: var(--color-white-muted-text); font-style: italic; line-height: 1.5; margin: 0 0 2px 0;
} .methodology-text em { font-style: normal; color: var(--color-white);
} /* ============================================ Signal Rollup ============================================ */
.signal-rollup { margin-top: var(--gap-base); padding-top: var(--gap-0-5x); box-shadow: inset 0 1px 0 0 var(--color-white-15);
} .signal-rollup-final { margin-top: var(--gap-1-5x); padding: var(--gap-0-75x); background-color: var(--panel-grey); box-shadow: inset 0 0 0 1px var(--color-white-15);
} .rollup-label { font-size: var(--type-base-unit); font-weight: 600; color: var(--color-white);
} .rollup-value { font-family: var(--font-badges); font-size: var(--type-base-unit); font-weight: 500; text-transform: uppercase; margin-left: var(--gap-0-5x);
} .rollup-value.signal-stable { color: #4ade80; }
.rollup-value.signal-caution { color: #fbbf24; }
.rollup-value.signal-warning { color: #f87171; } /* ============================================ Report HTML Content (injected bullet lists etc) ============================================ */
.report-html-content { font-size: var(--type-base-unit); line-height: 1.7; color: var(--color-white); opacity: 0.85; margin: var(--gap-0-75x) 0;
} .report-html-content ul { margin: 0; padding-left: 20px;
} .report-html-content li { margin-bottom: var(--gap-0-5x);
} .report-html-content p { margin: 0 0 var(--gap-0-5x) 0;
} /* ============================================ Italic Note ============================================ */
.italic-note { font-size: var(--type-small-size); font-style: italic; color: var(--color-white-muted-text); margin: var(--gap-0-5x) 0 var(--gap-base) 0;
} /* ============================================ Window Detail ============================================ */
.window-detail { font-size: 11px; color: var(--color-white-muted-text);
} /* ============================================ Report Footer ============================================ */
.report-footer { margin-top: var(--gap-1-5x); padding-top: var(--gap-0-75x); box-shadow: inset 0 1px 0 0 var(--color-white-15);
} .report-disclaimer { font-size: 11px; line-height: 1.6; color: var(--color-white-muted-text);
} /* ============================================ Signal Cards (grid variant) ============================================ */
.signal-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--gap-0-5x); margin: var(--gap-0-75x) 0;
} .signal-card { background-color: var(--panel-grey); box-shadow: inset 0 0 0 1px var(--color-white-15); padding: var(--gap-0-5x) var(--gap-0-75x); text-align: center;
} .signal-card .signal-label { font-size: 11px; color: var(--color-white-muted-text); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: var(--gap-0-25x);
} .signal-card .signal-value { font-family: var(--font-badges); font-size: 16px; font-weight: 500;
} .signal-card.signal-stable .signal-value { color: #4ade80; }
.signal-card.signal-caution .signal-value { color: #fbbf24; }
.signal-card.signal-warning .signal-value { color: #f87171; } /* ============================================ Stat Cards ============================================ */
.summary-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap-0-5x); margin: var(--gap-0-75x) 0;
} .stat-card { background-color: var(--panel-grey); box-shadow: inset 0 0 0 1px var(--color-white-15); padding: var(--gap-0-75x);
} .stat-label { font-size: 11px; color: var(--color-white-muted-text); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: var(--gap-0-25x);
} .stat-value { font-family: var(--font-badges); font-size: 24px; font-weight: 400; color: var(--color-white);
} .stat-change { font-size: 12px; margin-top: 4px; }
.stat-change.positive { color: #4ade80; }
.stat-change.negative { color: #f87171; }
.stat-change.neutral { color: var(--color-white-muted-text); } /* ============================================ Responsive ============================================ */
@media (max-width: 768px) { .signal-grid { grid-template-columns: repeat(3, 1fr); } .signal-grid .signal-card:first-child { grid-column: span 3; } .summary-stats { grid-template-columns: repeat(2, 1fr); } .report-meta { flex-direction: column; gap: var(--gap-0-25x); }
}
</style>
<div class="rp-scroll"> <div class="report-content-container"> <!-- ============================================ Report Header ============================================ --> <div class="report-header"> <h1 class="report-title">Weekly Settlement Conditions Report</h1> <div class="report-meta"> <div class="report-meta-item"> <span class="label">Week Ending:</span> <span class="value">27 March 2026</span> </div> <div class="report-meta-item"> <span class="label">Report ID:</span> <span class="value">SC-W13-2026</span> </div> </div> </div> <!-- ============================================ Reporting Week Summary ============================================ --> <div class="report-section"> <div class="intro-summary"> <div class="intro-summary-title">Reporting Week Summary</div> <div class="intro-summary-row"> <span class="intro-summary-label">Execution Conditions:</span> <span class="intro-summary-value signal-stable">Stable</span> </div> <div class="intro-summary-row"> <span class="intro-summary-label">On-Chain Settlement:</span> <span class="intro-summary-value signal-stable">Stable</span> </div> <div class="intro-summary-row"> <span class="intro-summary-label">Fiat Rail Status:</span> <span class="intro-summary-value signal-stable">Stable</span> </div> <div class="intro-summary-row"> <span class="intro-summary-label">Regulatory Environment:</span> <span class="intro-summary-value signal-stable">Stable</span> </div> </div> </div> <!-- ============================================ Section 1: Execution Cost Conditions ============================================ --> <div class="report-section"> <h2 class="section-title">1. Execution Cost Conditions</h2> <p class="report-paragraph"> This section presents execution cost conditions across monitored trading pairs and venues. Costs are derived from proprietary trade flow analysis and reflect the realised price impact of institutional-scale market orders during the reporting week. </p> <!-- 1A. Cost by Pair --> <div class="subsection"> <h3 class="subsection-title">A. Cost by Pair</h3> <p class="report-paragraph"> The table below summarises median execution costs by trading pair. Total basis-point cost (TBpC) captures price impact and taker fees as a single comparable measure. </p> <p class="source-label"> Source: <span>BlockRiver proprietary sweep detection: real-time trade flow analysis</span> </p> <div class="report-table-wrap"> <table class="venue-table"> <thead> <tr> <th>Pair</th> <th class="text-right">Med TBpC</th> <th class="text-right">Best Venue</th> <th class="text-right">$100k–$500k</th> <th class="text-right">>$500k</th> <th class="text-right">WoW</th> </tr> </thead> <tbody> <tr> <td class="venue-name">BTC/USD</td> <td class="text-right mono">7.8 bps</td> <td class="text-right mono">Kraken</td> <td class="text-right mono">7.7 bps</td> <td class="text-right mono">8.3 bps</td> <td class="text-right mono" style="color:#dc2626">+0.5 bps</td> </tr> <tr> <td class="venue-name">BTC/EUR</td> <td class="text-right mono">9.5 bps</td> <td class="text-right mono">Kraken</td> <td class="text-right mono">9.5 bps</td> <td class="text-right mono">10.8 bps</td> <td class="text-right mono" style="color:#dc2626">+1.6 bps</td> </tr> <tr> <td class="venue-name">BTC/GBP</td> <td class="text-right mono">11.0 bps</td> <td class="text-right mono">Kraken</td> <td class="text-right mono">11.0 bps</td> <td class="text-right mono">—</td> <td class="text-right mono" style="color:#dc2626">+0.3 bps</td> </tr> <tr> <td class="venue-name">BTC/USDT</td> <td class="text-right mono">7.7 bps</td> <td class="text-right mono">Bybit</td> <td class="text-right mono">7.7 bps</td> <td class="text-right mono">7.6 bps</td> <td class="text-right mono" style="color:#dc2626">+0.0 bps</td> </tr> <tr> <td class="venue-name">USDT/USD</td> <td class="text-right mono">8.0 bps</td> <td class="text-right mono">Kraken</td> <td class="text-right mono">10.2 bps</td> <td class="text-right mono">7.7 bps</td> <td class="text-right mono" style="color:#dc2626">+2.6 bps</td> </tr> <tr> <td class="venue-name">USDT/EUR</td> <td class="text-right mono">6.5 bps</td> <td class="text-right mono">Kraken</td> <td class="text-right mono">6.5 bps</td> <td class="text-right mono">6.8 bps</td> <td class="text-right mono" style="color:#dc2626">+0.3 bps</td> </tr> <tr> <td class="venue-name">USDT/GBP</td> <td class="text-right mono">7.9 bps</td> <td class="text-right mono">Kraken</td> <td class="text-right mono">7.9 bps</td> <td class="text-right mono">—</td> <td class="text-right mono" style="color:#16a34a">-1.0 bps</td> </tr> </tbody> </table> </div> <div class="key-takeaway"> <span class="takeaway-label">Key Takeaway:</span> Median execution costs widened 0.14 bps week-over-week to 7.66 bps across 3,248 sweeps totalling $772.5m. Fiat pairs drove the move, with BTC/EUR (+1.6 bps to 9.5 bps) and USDT/USD (+2.6 bps to 8.0 bps) posting the largest increases; BTC/USD and USDT/EUR remained the tightest fiat corridors at 7.8 bps and 6.5 bps respectively. Crypto pairs held flat to minimal drift, with BTC/USDT stable at 7.7 bps. </div> <div class="methodology-block"> <p class="methodology-title">Methodology</p> <p class="methodology-text"> Costs are measured from observed trade flow via proprietary sweep detection. Each event represents a detected market order consuming multiple price levels. TBpC reflects median total cost inclusive of price impact and exchange taker fees. </p> </div> </div> <!-- 1B. Optimal Execution Windows --> <div class="subsection"> <h3 class="subsection-title">B. Optimal Execution Windows</h3> <p class="report-paragraph"> The table below identifies optimal and adverse execution windows by trading pair. </p> <div class="report-table-wrap"> <table class="venue-table"> <thead> <tr> <th>Pair</th> <th>Best Window</th> <th>Worst Window</th> </tr> </thead> <tbody> <tr> <td class="venue-name">BTC/USDT</td> <td class="mono">04:00–06:00 UTC<br><span class="window-detail">7.2 bps · Bybit</span></td> <td class="mono">14:00–16:00 UTC<br><span class="window-detail">11.5 bps · Kraken</span></td> </tr> <tr> <td class="venue-name">BTC/USD</td> <td class="mono">18:00–20:00 UTC<br><span class="window-detail">6.9 bps · Kraken</span></td> <td class="mono">14:00–16:00 UTC<br><span class="window-detail">17.0 bps · Coinbase</span></td> </tr> <tr> <td class="venue-name">BTC/EUR</td> <td class="mono">06:00–08:00 UTC<br><span class="window-detail">6.8 bps · Kraken</span></td> <td class="mono">00:00–02:00 UTC<br><span class="window-detail">11.6 bps · Kraken</span></td> </tr> <tr> <td class="venue-name">BTC/GBP</td> <td class="mono">00:00–02:00 UTC<br><span class="window-detail">10.2 bps · Kraken</span></td> <td class="mono">20:00–22:00 UTC<br><span class="window-detail">25.3 bps · Kraken</span></td> </tr> <tr> <td class="venue-name">USDT/USD</td> <td class="mono">14:00–16:00 UTC<br><span class="window-detail">3.1 bps · Kraken</span></td> <td class="mono">16:00–18:00 UTC<br><span class="window-detail">80.6 bps · Kraken</span></td> </tr> <tr> <td class="venue-name">USDT/EUR</td> <td class="mono">04:00–06:00 UTC<br><span class="window-detail">4.7 bps · Kraken</span></td> <td class="mono">20:00–22:00 UTC<br><span class="window-detail">6.9 bps · Kraken</span></td> </tr> <tr> <td class="venue-name">USDT/GBP</td> <td class="mono">00:00–02:00 UTC<br><span class="window-detail">6.4 bps · Kraken</span></td> <td class="mono">14:00–16:00 UTC<br><span class="window-detail">11.7 bps · Kraken</span></td> </tr> </tbody> </table> </div> <div class="methodology-block"> <p class="methodology-title">Methodology</p> <p class="methodology-text"> Optimal and adverse execution windows are identified by comparing median TBpC across 2-hour UTC blocks for $100k–500k orders over the trailing 4-week period. </p> </div> </div> <!-- 1C. Venue Depth --> <div class="subsection"> <h3 class="subsection-title">C. Venue Depth</h3> <p class="report-paragraph"> Depth classification across monitored venues and trading pairs. Based on simulated orderbook walks at $500k and $100k notional using hourly snapshots over the reporting week. </p> <div class="report-table-wrap"> <table class="venue-table depth-matrix"> <thead> <tr> <th></th> <th class="text-center">BTC/USDT</th> <th class="text-center">BTC/USD</th> <th class="text-center">BTC/EUR</th> <th class="text-center">BTC/GBP</th> <th class="text-center">USDT/USD</th> <th class="text-center">USDT/EUR</th> <th class="text-center">USDT/GBP</th> </tr> </thead> <tbody> <tr> <td class="venue-name">Bybit</td> <td class="text-center mono {{DEPTH_CLASS_BYBIT_BTCUSDT}}">Deep</td> <td class="text-center mono {{DEPTH_CLASS_BYBIT_BTCUSD}}">—</td> <td class="text-center mono {{DEPTH_CLASS_BYBIT_BTCEUR}}">—</td> <td class="text-center mono {{DEPTH_CLASS_BYBIT_BTCGBP}}">—</td> <td class="text-center mono {{DEPTH_CLASS_BYBIT_USDTUSD}}">—</td> <td class="text-center mono {{DEPTH_CLASS_BYBIT_USDTEUR}}">—</td> <td class="text-center mono {{DEPTH_CLASS_BYBIT_USDTGBP}}">—</td> </tr> <tr> <td class="venue-name">Coinbase</td> <td class="text-center mono {{DEPTH_CLASS_COINBASE_BTCUSDT}}">Thin</td> <td class="text-center mono {{DEPTH_CLASS_COINBASE_BTCUSD}}">Deep</td> <td class="text-center mono {{DEPTH_CLASS_COINBASE_BTCEUR}}">Normal</td> <td class="text-center mono {{DEPTH_CLASS_COINBASE_BTCGBP}}">Thin</td> <td class="text-center mono {{DEPTH_CLASS_COINBASE_USDTUSD}}">Deep</td> <td class="text-center mono {{DEPTH_CLASS_COINBASE_USDTEUR}}">Thin</td> <td class="text-center mono {{DEPTH_CLASS_COINBASE_USDTGBP}}">—</td> </tr> <tr> <td class="venue-name">Kraken</td> <td class="text-center mono {{DEPTH_CLASS_KRAKEN_BTCUSDT}}">Normal</td> <td class="text-center mono {{DEPTH_CLASS_KRAKEN_BTCUSD}}">Deep</td> <td class="text-center mono {{DEPTH_CLASS_KRAKEN_BTCEUR}}">Deep</td> <td class="text-center mono {{DEPTH_CLASS_KRAKEN_BTCGBP}}">Normal</td> <td class="text-center mono {{DEPTH_CLASS_KRAKEN_USDTUSD}}">Deep</td> <td class="text-center mono {{DEPTH_CLASS_KRAKEN_USDTEUR}}">Deep</td> <td class="text-center mono {{DEPTH_CLASS_KRAKEN_USDTGBP}}">Normal</td> </tr> </tbody> </table> </div> <div class="methodology-block"> <p class="methodology-title">Methodology</p> <p class="methodology-text">Slippage ≤ 5 bps → <em>Deep</em></p> <p class="methodology-text">Slippage 5–15 bps → <em>Normal</em></p> <p class="methodology-text">Slippage 15–30 bps → <em>Thin</em></p> <p class="methodology-text">Slippage > 30 bps → <em>Shallow</em></p> </div> </div> <div class="signal-rollup"> <span class="rollup-label">Execution Conditions:</span> <span class="rollup-value signal-stable">Stable</span> </div> </div> <!-- ============================================ Section 2: On-Chain Settlement Costs ============================================ --> <div class="report-section"> <h2 class="section-title">2. On-Chain Settlement Costs</h2> <p class="report-paragraph"> On-chain fee conditions and stablecoin peg dynamics relevant to crypto settlement and conversion paths during the reporting week. </p> <div class="subsection"> <h3 class="subsection-title">A. Network Fee Conditions</h3> <div class="report-table-wrap"> <table class="venue-table"> <thead> <tr> <th>Network</th> <th class="text-right">Median Fee</th> <th class="text-right">Range</th> <th class="text-right">Volatility</th> <th class="text-right">Weekly Status</th> </tr> </thead> <tbody> <tr> <td class="venue-name">Ethereum</td> <td class="text-right mono">0.1 gwei</td> <td class="text-right mono">0.0–18.5 gwei</td> <td class="text-right mono">High</td> <td class="text-right mono {{GAS_ETH_STATUS_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">Bitcoin</td> <td class="text-right mono">1.0 sat/vB</td> <td class="text-right mono">1.0–5.0 sat/vB</td> <td class="text-right mono">Moderate</td> <td class="text-right mono {{GAS_BTC_STATUS_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">Tron</td> <td class="text-right mono">100.0 sun</td> <td class="text-right mono">100.0–100.0 sun</td> <td class="text-right mono">Low</td> <td class="text-right mono {{GAS_TRON_STATUS_CLASS}}">Stable</td> </tr> </tbody> </table> </div> </div> <div class="subsection"> <h3 class="subsection-title">B. Stablecoin Conversion Pressure (Observed)</h3> <p class="source-label">Scope: <span>USDC (ERC-20), USDT (ERC-20 & TRC-20)</span></p> <div class="report-table-wrap"> <table class="venue-table"> <thead> <tr> <th>Asset</th> <th class="text-right">Net Issuance / (Redemption)</th> <th class="text-right">Peg Deviation</th> <th class="text-right">Weekly Status</th> </tr> </thead> <tbody> <tr> <td class="venue-name">USDC</td> <td class="text-right mono">-$1.1bn</td> <td class="text-right mono">±3.0 bps</td> <td class="text-right mono {{STABLE_USDC_STATUS_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">USDT (ERC-20)</td> <td class="text-right mono">-$9m</td> <td class="text-right mono">±7.0 bps</td> <td class="text-right mono {{STABLE_USDT_ERC20_STATUS_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">USDT (TRC-20)</td> <td class="text-right mono">+$753m</td> <td class="text-right mono">±7.0 bps</td> <td class="text-right mono {{STABLE_USDT_TRC20_STATUS_CLASS}}">Stable</td> </tr> </tbody> </table> </div> <div class="methodology-block"> <p class="methodology-title">Rule:</p> <p class="methodology-text">Net redemptions ≥ $0.5bn in the reporting week → <em>Elevated</em></p> <p class="methodology-text">Net issuance ≥ $1.25bn in the reporting week → <em>Elevated</em></p> <p class="methodology-text">Peg deviation ≥ ±10 bps sustained → <em>Elevated</em></p> <p class="methodology-text">Otherwise → <em>Stable</em></p> </div> </div> <div class="signal-rollup"> <span class="rollup-label">On-Chain Settlement:</span> <span class="rollup-value signal-stable">Stable</span> </div> </div> <!-- ============================================ Section 3: Fiat Rail Status ============================================ --> <div class="report-section"> <h2 class="section-title">3. Fiat Rail Status</h2> <p class="report-paragraph"> Operational status of major fiat settlement systems during the reporting week. </p> <p class="source-label">Source: <span>Official operator incident & status communications</span></p> <div class="report-table-wrap"> <table class="venue-table"> <thead> <tr> <th>Rail / System</th> <th class="text-right">Currency</th> <th class="text-right">Unscheduled Outages</th> <th class="text-right">Degraded Notices</th> <th class="text-right">Status</th> </tr> </thead> <tbody> <tr> <td class="venue-name">CHAPS / RTGS</td> <td class="text-right mono">GBP</td> <td class="text-right mono">None</td> <td class="text-right mono">None</td> <td class="text-right mono {{RAIL_CHAPS_STATUS_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">TARGET2</td> <td class="text-right mono">EUR</td> <td class="text-right mono">None</td> <td class="text-right mono">None</td> <td class="text-right mono {{RAIL_TARGET2_STATUS_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">Fedwire Funds</td> <td class="text-right mono">USD</td> <td class="text-right mono">None</td> <td class="text-right mono">None</td> <td class="text-right mono {{RAIL_FEDWIRE_STATUS_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">SEPA Instant</td> <td class="text-right mono">EUR</td> <td class="text-right mono">None</td> <td class="text-right mono">None</td> <td class="text-right mono {{RAIL_SEPA_STATUS_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">ACH (Same-Day)</td> <td class="text-right mono">USD</td> <td class="text-right mono">None</td> <td class="text-right mono">None</td> <td class="text-right mono {{RAIL_ACH_STATUS_CLASS}}">Stable</td> </tr> </tbody> </table> </div> <div class="methodology-block"> <p class="methodology-title">Rule:</p> <p class="methodology-text">Any unscheduled outage → <em>Degraded</em></p> <p class="methodology-text">≥2 degraded notices → <em>Degraded</em></p> <p class="methodology-text">Otherwise → <em>Stable</em></p> </div> <div class="signal-rollup"> <span class="rollup-label">Fiat Rail Status:</span> <span class="rollup-value signal-stable">Stable</span> </div> </div> <!-- ============================================ Section 4: Risk & Compliance Signals ============================================ --> <div class="report-section"> <h2 class="section-title">4. Risk & Compliance Signals</h2> <p class="report-paragraph"> Market-wide indicators of regulatory, sanctions, and compliance posture observed during the reporting week. </p> <div class="subsection"> <h3 class="subsection-title">A. Aggregate Risk Signal Overview</h3> <div class="report-table-wrap"> <table class="venue-table"> <thead> <tr> <th>Signal Category</th> <th>Observed Change This Week</th> <th>Affected Jurisdictions</th> <th class="text-right">Weekly Signal</th> </tr> </thead> <tbody> <tr> <td class="venue-name">Sanctions activity</td> <td class="mono">No material change</td> <td class="mono">—</td> <td class="text-right mono {{REG_SANCTIONS_SIGNAL_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">Regulatory guidance</td> <td class="mono">No material change</td> <td class="mono">—</td> <td class="text-right mono {{REG_GUIDANCE_SIGNAL_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">Supervisory tone</td> <td class="mono">No material change</td> <td class="mono">—</td> <td class="text-right mono {{REG_SUPERVISORY_SIGNAL_CLASS}}">Stable</td> </tr> <tr> <td class="venue-name">Enforcement actions</td> <td class="mono">No material change</td> <td class="mono">—</td> <td class="text-right mono {{REG_ENFORCEMENT_SIGNAL_CLASS}}">Stable</td> </tr> </tbody> </table> </div> <div class="methodology-block"> <p class="methodology-title">Rule:</p> <p class="methodology-text">New sanctions designations, tightened regulatory language, or elevated supervisory activity → <em>Elevated</em></p> <p class="methodology-text">No material change → <em>Stable</em></p> </div> </div> <div class="subsection"> <h3 class="subsection-title">B. Source Activity Log</h3> <p class="report-paragraph">Published regulatory and sanctions updates relevant to settlement and counterparty operations:</p> <div class="report-html-content"><p>No material regulatory updates during the reporting week.</p></div> <p class="italic-note">(This section reflects published source activity only and does not constitute legal interpretation.)</p> </div> <div class="signal-rollup"> <span class="rollup-label">Risk & Compliance Signal:</span> <span class="rollup-value signal-stable">Stable</span> </div> </div> <!-- ============================================ Section 5: What Changed This Week? ============================================ --> <div class="report-section"> <h2 class="section-title">5. What Changed This Week?</h2> <p class="report-paragraph"> Material changes to settlement conditions observed during the reporting week. </p> <div class="subsection"> <h3 class="subsection-title">Observed Changes</h3> <div class="report-html-content"><ul><li>Median execution costs widened 14 bps week-over-week to 766 bps across 3,248 sweeps totalling $772.5m, driven primarily by fiat pair deterioration.</li><li>BTC/EUR execution costs increased 1.6 bps to 9.5 bps; USDT/USD posted the largest move at +2.6 bps to 8.0 bps, while BTC/USD and BTC/USDT remained stable at 7.8 bps and 7.7 bps respectively.</li><li>Larger trade sizes (500k+) experienced elevated costs in BTC/EUR (10.8 bps) and BTC/USD (8.3 bps), indicating liquidity depth constraints at scale.</li><li>Intraday volatility persisted in fiat pairs; BTC/EUR ranged 6.8–11.6 bps across time windows, while BTC/GBP worst-case execution (25.3 bps, 20:00–22:00 UTC) remained structurally challenging.</li><li>All fiat rails (CHAPS, TARGET2, Fedwire, SEPA, ACH) operated without outages or degradation; stablecoin issuance flows remain within normal parameters (USDT TRC20 +$753m net, USDC −$1.1bn net).</li></ul></div> <p class="italic-note">(Items are included only where a material change was observed. Coverage may vary week to week.)</p> </div> <div class="subsection"> <h3 class="subsection-title">Operational Implications</h3> <p class="report-paragraph"> For firms executing at institutional scale, this week's conditions point to the following considerations: </p> <div class="report-html-content"><p>The 14 bps widening in median execution costs reflects increased fiat corridor friction, particularly for EUR and GBP pairs, likely due to regional liquidity consolidation or weekend positioning. Large notional settlements (500k+) should anticipate execution costs 30–140 bps above median in less liquid pairs (BTC/EUR, BTC/GBP) and time-window selection strategically around 06:00–08:00 UTC for EUR and 18:00–20:00 UTC for USD to minimize slippage.</p><p>Rails remain operationally sound with no disruptions; however, elevated worst-case execution spreads in BTC/GBP (25.3 bps) and isolated USDT/USD volatility (80.6 bps in 16:00–18:00 UTC window) warrant continued monitoring of venue-specific liquidity dynamics and scheduling of non-urgent settlements outside peak friction windows.</p></div> </div> <div class="signal-rollup signal-rollup-final"> <span class="rollup-label">Weekly Settlement Conditions:</span> <span class="rollup-value signal-stable">Stable</span> </div> </div> <!-- ============================================ Footer ============================================ --> <div class="report-footer"> <p class="report-disclaimer"><strong>BlockRiver AG — Weekly Settlement Conditions Report</strong></p> <p class="report-disclaimer"> Prepared for informational purposes only. This report reflects observed conditions during the reporting period and does not constitute legal, regulatory, or professional advice. © BlockRiver AG. </p> </div> </div>
</div>
Download PDF