Peg holds on average, yet redemptions and withdrawals wobble
Question
Our stablecoin/exchange dashboards show the peg near 1.00 and volumes are healthy. But during risk-off days, redemption queues lengthen, spreads widen on smaller venues, and some chains see withdrawal delays. Market makers say “liquidity is there,” yet clients report slippage and slower exits. How can a 1.00 peg feel unstable?
Answer ✅
A headline peg can mask convertibility drift. If redemption capacity concentrates, orderbook depth thins at the edges, or on-chain withdrawals lag during congestion, you “hold 1.00” on paper while real exit quality degrades. SSM-Audit adds a stability band beside the signals you already track, revealing whether your peg is calm and repeatable or brittle and venue/chain-dependent—before a visible de-peg.
What the bands would have shown 📊
• Peg deviation (bps) sliding A+ -> A0 in long-tail venues and off-hours
• Redemption queue latency degrading to A- (more requests per minute than settled per minute)
• Depth-at-1% move weakening A0 -> A- (shallower books; impact rises)
• Spread stability softening A+ -> A0 (wider/twitchy quotes during vol spikes)
• Withdrawal latency (per chain) dipping A0 -> A- / A– (queues + chain congestion)
• Reserves composition stability tilting A0 -> A- (more off-chain or concentrated custodians)
What to do now 🛠️
- Band convertibility, not just price: track peg deviation, redemption latency, depth-at-1%, spreads, per-chain withdrawal time, and reserves mix—by venue and 30-min bucket.
- Throttle by band: when redemption latency band < A0, open extra desks/corridors; auto-prioritize smaller tickets to stabilize queues.
- Deepen edges: if depth-at-1% band < A0, extend MM incentives to long-tail pairs/venues; require minimum displayed depth.
- Harden withdrawals: pre-fund hot chains; if withdrawal band slips, switch rails or fee policies temporarily and surface ETAs.
- Diversify reserves: publish a reserves stability band; cap exposure to any single custodian/asset when the band dips.
- Incident drills: run weekly stress minutes; if any band < A0 for 2 consecutive checks, trigger the playbook and post-mortem.
How SSM-Audit helps (practicalities) 🌟
• No additional infrastructure: sits beside your venue books, treasury, custody, and chain telemetry.
• Numbers unchanged: prices, balances, and fills remain as-is; stability is a read-only overlay.
• Easy to use: spreadsheet/BI friendly; one lightweight daily panel across venues and chains.
• Universal language: A++ / A+ / A0 / A- / A– aligns trading, treasury, risk, and ops fast.
CLI 💻 — try our mini Calculator to identify the drift
(Mini CLI Download Page)
Feed your CSVs and see bands and drift at a glance (numbers unchanged).
# Peg deviation (bps from 1.00), by venue and bucket
ssm_audit_mini_calc stable.csv --kpi "Peg Deviation (bps)" \
--out bands_peg.csv --plot_kpi "Peg Deviation (bps)" --build_id stbl
# Redemption queue latency (mins from request to settle)
ssm_audit_mini_calc stable.csv --kpi "Redemption Queue Latency" \
--out bands_redeem.csv --plot_kpi "Redemption Queue Latency" --build_id stbl
# Depth at 1% move (USD notional within ±1%)
ssm_audit_mini_calc stable.csv --kpi "Depth at 1% Move" \
--out bands_depth.csv --plot_kpi "Depth at 1% Move" --build_id stbl
# Spread stability (quoted spread pct, time-weighted)
ssm_audit_mini_calc stable.csv --kpi "Spread Stability" \
--out bands_spread.csv --plot_kpi "Spread Stability" --build_id stbl
# Withdrawal latency per chain (minutes)
ssm_audit_mini_calc stable.csv --kpi "Withdrawal Latency (Chain)" \
--out bands_withdraw.csv --plot_kpi "Withdrawal Latency (Chain)" --build_id stbl
# Reserves composition stability (on-chain vs off-chain mix)
ssm_audit_mini_calc stable.csv --kpi "Reserves Composition Stability" \
--out bands_reserves.csv --plot_kpi "Reserves Composition Stability" --build_id stbl
Outputs you will get:
• CSVs with stability bands for each timestamp (e.g., bands_depth.csv).
• Drift charts per KPI (--plot_kpi) showing where convertibility thins first.
• Optional alerts if you enable thresholds in your setup.
Technical notes
Representation: x = (m, a) with a in (-1, +1)
Collapse parity: phi((m,a)) = m
Order-invariant pooling:
U = sum(w_i * atanh(a_i))
W = sum(w_i)
a_out = tanh( U / max(W, eps_w) )
Typical bands (example):
A++: a >= 0.75
A+: 0.50 - 0.75
A0: 0.25 - 0.50
A-: 0.10 - 0.25
A--: a < 0.10
Navigation
Back: SSM-Audit Q&A Series – Housing Early-Warning (Question 30)
Next: SSM-Audit Q&A Series – Insurance & Climate (Question 32)
Page disclaimer
Illustrative scenario for research and education. Observation-only; do not use for critical decisions without independent validation.