Systemic Risk Channels in Digital Finance — Literature Search and Composite Scoring Pipeline
This document explains and verifies the pipeline used to rank 14 candidate systemic risk channels in digital finance. The goal is to select channels for an academic taxonomy paper based on three measurable criteria: literature prominence, scholarly impact, and crisis history.
A systematic literature search combined with a composite scoring methodology. The pipeline ingests Boolean search queries, retrieves academic papers from the OpenAlex API, links channels to historical crisis events, and produces a weighted composite score for each channel.
To objectively determine which of 14 candidate channels deserve inclusion in a scholarly taxonomy of systemic risk in digital finance. The ranking reflects the intersection of (a) how much the academic literature covers a channel, (b) how influential that literature is by citation count, and (c) how frequently real-world crisis events have activated the channel.
Fourteen candidate systemic risk channels are defined in search_queries.json. Each channel has a unique identifier, a human-readable name, 3–4 Boolean search queries designed to capture its literature footprint, and optional theory anchors (foundational references from traditional finance).
| # | Channel ID | Display Name | Queries | Theory Anchors |
|---|---|---|---|---|
| 1 | network_contagion | Network Contagion | 4 | Allen & Gale (2000); Acemoglu et al. (2015) |
| 2 | liquidity_spirals | Liquidity Spirals | 4 | Brunnermeier & Pedersen (2009) |
| 3 | stablecoin_runs | Stablecoin Runs | 4 | Diamond & Dybvig (1983) |
| 4 | oracle_manipulation | Oracle Manipulation | 4 | — |
| 5 | composability_risk | Composability Risk | 4 | — |
| 6 | liquidation_cascades | Liquidation Cascades | 4 | Brunnermeier (2009) |
| 7 | counterparty_concentration | Counterparty Concentration | 4 | Upper (2011) |
| 8 | regulatory_contagion | Regulatory Contagion | 3 | — |
| 9 | gateway_risk | Gateway Risk (Fiat-Crypto Bridging) | 4 | — |
| 10 | governance_failure | Governance Failure | 4 | — |
| 11 | information_asymmetry | Information Asymmetry and Opacity | 3 | Akerlof (1970) |
| 12 | rwa_transmission | Real-World Asset Transmission | 3 | — |
| 13 | bridge_vulnerability | Cross-Chain Bridge Vulnerability | 3 | — |
| 14 | validator_concentration | Validator/Miner Concentration | 3 | — |
Theory anchors: Allen and Gale (2000), Financial Contagion, Journal of Political Economy; Acemoglu, Ozdaglar, and Tahbaz-Salehi (2015), Systemic Risk and Stability in Financial Networks, American Economic Review.
| Source | OpenAlex API |
| Year range | 2009–2026 |
| Min. citations | 5 |
| Sort order | cited_by_count:desc |
| Per-channel limit | 200 papers |
| Language | English |
For each of the 14 channels, each of its 3–4 queries is submitted to OpenAlex. Results are paginated (up to 5 pages total: 1 initial + 4 additional), deduplicated by paper ID within each channel, and capped at 200 papers per channel.
| Channel | Papers |
|---|---|
| bridge_vulnerability | 200 |
| composability_risk | 200 |
| counterparty_concentration | 200 |
| governance_failure | 200 |
| information_asymmetry | 200 |
| liquidation_cascades | 200 |
| network_contagion | 200 |
| regulatory_contagion | 200 |
| rwa_transmission | 200 |
| validator_concentration | 200 |
| Channel | Papers |
|---|---|
| gateway_risk | 348 |
| liquidity_spirals | 263 |
| stablecoin_runs | 218 |
| oracle_manipulation | 208 |
| Total channel-paper assignments | 3,037 |
| Multi-channel papers | 363 |
| Final unique papers | 2,433 |
Papers can belong to multiple channels. Distribution of how many channels each paper appears in:
| Channels per paper | Number of papers |
|---|---|
| 1 | 2,070 |
| 2 | 238 |
| 3 | 63 |
| 4 | 36 |
| 5 | 9 |
| 6 | 8 |
| 7 | 7 |
| 8 | 2 |
Check: 2,070 + 238 + 63 + 36 + 9 + 8 + 7 + 2 = 2,433 unique papers. Weighted sum: 2,070×1 + 238×2 + 63×3 + 36×4 + 9×5 + 8×6 + 7×7 + 2×8 = 3,037 channel-paper assignments.
Each channel is scored on three dimensions, each normalized to the [0, 1] interval.
max_paper_count = 348 (gateway_risk)
Because 10 of 14 channels hit the 200-paper cap, they all receive an identical score of 200 ÷ 348 = 0.5747. Only the four uncapped channels differentiate on this dimension.
| Channel | Papers | Calculation | Score |
|---|---|---|---|
| gateway_risk | 348 | 348 / 348 | 1.0000 |
| liquidity_spirals | 263 | 263 / 348 | 0.7557 |
| stablecoin_runs | 218 | 218 / 348 | 0.6264 |
| oracle_manipulation | 208 | 208 / 348 | 0.5977 |
| 10 capped channels | 200 | 200 / 348 | 0.5747 |
The denominator is always 10, even if a channel has fewer than 10 papers. This penalizes channels with a very small literature base.
max_mean_top10 = 5,228.8 (bridge_vulnerability)
| Channel | Mean Top-10 | Calculation | Score |
|---|---|---|---|
| bridge_vulnerability | 5,228.8 | 5228.8 / 5228.8 | 1.0000 |
| validator_concentration | 5,041.1 | 5041.1 / 5228.8 | 0.9641 |
| composability_risk | 3,024.5 | 3024.5 / 5228.8 | 0.5784 |
| gateway_risk | 1,699.5 | 1699.5 / 5228.8 | 0.3250 |
| liquidity_spirals | 1,603.6 | 1603.6 / 5228.8 | 0.3067 |
| governance_failure | 1,213.3 | 1213.3 / 5228.8 | 0.2320 |
| liquidation_cascades | 1,151.3 | 1151.3 / 5228.8 | 0.2202 |
| rwa_transmission | 1,148.4 | 1148.4 / 5228.8 | 0.2196 |
| counterparty_concentration | 1,105.1 | 1105.1 / 5228.8 | 0.2113 |
| regulatory_contagion | 937.3 | 937.3 / 5228.8 | 0.1793 |
| information_asymmetry | 927.2 | 927.2 / 5228.8 | 0.1773 |
| network_contagion | 854.8 | 854.8 / 5228.8 | 0.1635 |
| oracle_manipulation | 686.9 | 686.9 / 5228.8 | 0.1314 |
| stablecoin_runs | 161.4 | 161.4 / 5228.8 | 0.0309 |
The crisis chronology contains 25 events (2014–2025). Of these, 21 have numeric loss figures and 4 have losses recorded as "undetermined". Undetermined losses are imputed at the median of the 21 known losses: $305,000,000 (log10 = 8.4843).
max_crisis_sum = 116.08 (counterparty_concentration, activated by 13 crisis events)
| Channel | Events | log10 Sum | Calculation | Score |
|---|---|---|---|---|
| counterparty_concentration | 13 | 116.08 | 116.08 / 116.08 | 1.0000 |
| liquidity_spirals | 13 | 115.58 | 115.58 / 116.08 | 0.9957 |
| composability_risk | 10 | 85.94 | 85.94 / 116.08 | 0.7403 |
| gateway_risk | 9 | 78.92 | 78.92 / 116.08 | 0.6799 |
| information_asymmetry | 8 | 71.68 | 71.68 / 116.08 | 0.6175 |
| bridge_vulnerability | 7 | 60.02 | 60.02 / 116.08 | 0.5171 |
| network_contagion | 5 | 47.11 | 47.11 / 116.08 | 0.4058 |
| liquidation_cascades | 5 | 39.80 | 39.80 / 116.08 | 0.3429 |
| stablecoin_runs | 3 | 28.44 | 28.44 / 116.08 | 0.2450 |
| governance_failure | 3 | 24.36 | 24.36 / 116.08 | 0.2099 |
| oracle_manipulation | 2 | 15.23 | 15.23 / 116.08 | 0.1312 |
| validator_concentration | 1 | 8.80 | 8.80 / 116.08 | 0.0758 |
| regulatory_contagion | 1 | 8.48 | 8.48 / 116.08 | 0.0731 |
| rwa_transmission | 0 | 0.00 | 0.00 / 116.08 | 0.0000 |
| Step | Calculation | Result |
|---|---|---|
| Papers retrieved | 200 (capped at per_channel_limit) | 200 |
| Literature volume | 200 ÷ 348 | 0.5747 |
| Top-10 citations | [8937, 6328, 6112, 5982, 5761, 4666, 3760, 3620, 3596, 3526] | — |
| Mean top-10 | 52,288 ÷ 10 | 5,228.8 |
| Citation impact | 5,228.8 ÷ 5,228.8 | 1.0000 |
| 7 crisis events | Poly Network (8.786) + Wormhole (8.513) + Ronin (8.796) + Nomad (8.279) + Multichain (8.100) + Bybit (9.176) + WazirX (8.371) | 60.02 |
| Crisis evidence | 60.02 ÷ 116.08 | 0.5171 |
| Composite | 0.35 × 0.5747 + 0.35 × 1.0000 + 0.30 × 0.5171 | 0.7063 |
| Rank | Channel | Papers | Lit. Volume | Mean Top-10 | Cit. Impact | Crisis Events | Crisis Ev. | Composite |
|---|---|---|---|---|---|---|---|---|
| 1 | Cross-Chain Bridge Vulnerability | 200 | 0.5747 | 5,228.8 | 1.0000 | 7 | 0.5171 | 0.7063 |
| 2 | Liquidity Spirals | 263 | 0.7557 | 1,603.6 | 0.3067 | 13 | 0.9957 | 0.6705 |
| 3 | Gateway Risk (Fiat-Crypto Bridging) | 348 | 1.0000 | 1,699.5 | 0.3250 | 9 | 0.6799 | 0.6677 |
| 4 | Composability Risk | 200 | 0.5747 | 3,024.5 | 0.5784 | 10 | 0.7403 | 0.6257 |
| 5 | Counterparty Concentration | 200 | 0.5747 | 1,105.1 | 0.2113 | 13 | 1.0000 | 0.5751 |
| 6 | Validator/Miner Concentration | 200 | 0.5747 | 5,041.1 | 0.9641 | 1 | 0.0758 | 0.5613 |
| 7 | Information Asymmetry and Opacity | 200 | 0.5747 | 927.2 | 0.1773 | 8 | 0.6175 | 0.4485 |
| 8 | Liquidation Cascades | 200 | 0.5747 | 1,151.3 | 0.2202 | 5 | 0.3429 | 0.3811 |
| 9 | Network Contagion | 200 | 0.5747 | 854.8 | 0.1635 | 5 | 0.4058 | 0.3801 |
| 10 | Governance Failure | 200 | 0.5747 | 1,213.3 | 0.2320 | 3 | 0.2099 | 0.3453 |
| 11 | Stablecoin Runs | 218 | 0.6264 | 161.4 | 0.0309 | 3 | 0.2450 | 0.3036 |
| 12 | Oracle Manipulation | 208 | 0.5977 | 686.9 | 0.1314 | 2 | 0.1312 | 0.2945 |
| 13 | Regulatory Contagion | 200 | 0.5747 | 937.3 | 0.1793 | 1 | 0.0731 | 0.2858 |
| 14 | Real-World Asset Transmission | 200 | 0.5747 | 1,148.4 | 0.2196 | 0 | 0.0000 | 0.2780 |
To test the robustness of the ranking, four weight schemes are compared. If the top channels are stable across schemes, the ranking is not an artifact of the chosen weights.
| Scheme | Lit. Volume | Cit. Impact | Crisis Ev. |
|---|---|---|---|
| Primary | 0.35 | 0.35 | 0.30 |
| Equal | 0.333 | 0.333 | 0.333 |
| Crisis-dominant | 0.25 | 0.25 | 0.50 |
| Literature-dominant | 0.50 | 0.25 | 0.25 |
| Channel | Primary 35/35/30 |
Equal 33/33/33 |
Crisis-dom. 25/25/50 |
Lit-dom. 50/25/25 |
Range |
|---|---|---|---|---|---|
| bridge_vulnerability | 1 | 1 | 5 | 3 | 1–5 |
| liquidity_spirals | 2 | 2 | 1 | 2 | 1–2 |
| gateway_risk | 3 | 3 | 3 | 1 | 1–3 |
| composability_risk | 4 | 4 | 4 | 4 | 4 |
| counterparty_concentration | 5 | 5 | 2 | 5 | 2–5 |
| validator_concentration | 6 | 6 | 7 | 6 | 6–7 |
| information_asymmetry | 7 | 7 | 6 | 7 | 6–7 |
| liquidation_cascades | 8 | 9 | 9 | 9 | 8–9 |
| network_contagion | 9 | 8 | 8 | 8 | 8–9 |
| governance_failure | 10 | 10 | 10 | 10 | 10 |
| stablecoin_runs | 11 | 11 | 11 | 11 | 11 |
| oracle_manipulation | 12 | 12 | 12 | 12 | 12 |
| regulatory_contagion | 13 | 13 | 13 | 13 | 13 |
| rwa_transmission | 14 | 14 | 14 | 14 | 14 |
| Channel | Primary | Equal | Crisis-dom. | Lit-dom. |
|---|---|---|---|---|
| bridge_vulnerability | 0.7063 | 0.6972 | 0.6522 | 0.6666 |
| liquidity_spirals | 0.6705 | 0.6860 | 0.7634 | 0.7035 |
| gateway_risk | 0.6677 | 0.6682 | 0.6712 | 0.7512 |
| composability_risk | 0.6257 | 0.6311 | 0.6585 | 0.6170 |
| counterparty_concentration | 0.5751 | 0.5953 | 0.6965 | 0.5902 |
| validator_concentration | 0.5613 | 0.5381 | 0.4226 | 0.5473 |
| information_asymmetry | 0.4485 | 0.4565 | 0.4967 | 0.4861 |
| liquidation_cascades | 0.3811 | 0.3792 | 0.3702 | 0.4281 |
| network_contagion | 0.3801 | 0.3813 | 0.3874 | 0.4297 |
| governance_failure | 0.3453 | 0.3388 | 0.3066 | 0.3978 |
| stablecoin_runs | 0.3036 | 0.3007 | 0.2868 | 0.3822 |
| oracle_manipulation | 0.2945 | 0.2867 | 0.2479 | 0.3645 |
| regulatory_contagion | 0.2858 | 0.2757 | 0.2250 | 0.3504 |
| rwa_transmission | 0.2780 | 0.2648 | 0.1986 | 0.3423 |
All 42 sub-scores (3 dimensions × 14 channels) and 14 composite scores were independently recomputed from raw data and compared against the stored values in channel_rankings.json.
| Channel | Literature Volume | Citation Impact | Crisis Evidence | Composite | Rank | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Stored | Computed | Δ | Stored | Computed | Δ | Stored | Computed | Δ | Stored | Computed | Δ | Match | |
| bridge_vulnerability | 0.5747 | 0.5747 | 0.0000 | 1.0000 | 1.0000 | 0.0000 | 0.5171 | 0.5171 | 0.0000 | 0.7063 | 0.7063 | 0.0000 | Yes |
| liquidity_spirals | 0.7557 | 0.7557 | 0.0000 | 0.3067 | 0.3067 | 0.0000 | 0.9957 | 0.9957 | 0.0000 | 0.6705 | 0.6705 | 0.0000 | Yes |
| gateway_risk | 1.0000 | 1.0000 | 0.0000 | 0.3250 | 0.3250 | 0.0000 | 0.6799 | 0.6799 | 0.0000 | 0.6677 | 0.6677 | 0.0000 | Yes |
| composability_risk | 0.5747 | 0.5747 | 0.0000 | 0.5784 | 0.5784 | 0.0000 | 0.7403 | 0.7403 | 0.0000 | 0.6257 | 0.6257 | 0.0000 | Yes |
| counterparty_concentration | 0.5747 | 0.5747 | 0.0000 | 0.2113 | 0.2113 | 0.0000 | 1.0000 | 1.0000 | 0.0000 | 0.5751 | 0.5751 | 0.0000 | Yes |
| validator_concentration | 0.5747 | 0.5747 | 0.0000 | 0.9641 | 0.9641 | 0.0000 | 0.0758 | 0.0758 | 0.0000 | 0.5613 | 0.5613 | 0.0000 | Yes |
| information_asymmetry | 0.5747 | 0.5747 | 0.0000 | 0.1773 | 0.1773 | 0.0000 | 0.6175 | 0.6175 | 0.0000 | 0.4485 | 0.4485 | 0.0000 | Yes |
| liquidation_cascades | 0.5747 | 0.5747 | 0.0000 | 0.2202 | 0.2202 | 0.0000 | 0.3429 | 0.3429 | 0.0000 | 0.3811 | 0.3811 | 0.0000 | Yes |
| network_contagion | 0.5747 | 0.5747 | 0.0000 | 0.1635 | 0.1635 | 0.0000 | 0.4058 | 0.4058 | 0.0000 | 0.3801 | 0.3801 | 0.0000 | Yes |
| governance_failure | 0.5747 | 0.5747 | 0.0000 | 0.2320 | 0.2320 | 0.0000 | 0.2099 | 0.2099 | 0.0000 | 0.3453 | 0.3453 | 0.0000 | Yes |
| stablecoin_runs | 0.6264 | 0.6264 | 0.0000 | 0.0309 | 0.0309 | 0.0000 | 0.2450 | 0.2450 | 0.0000 | 0.3036 | 0.3036 | 0.0000 | Yes |
| oracle_manipulation | 0.5977 | 0.5977 | 0.0000 | 0.1314 | 0.1314 | 0.0000 | 0.1312 | 0.1312 | 0.0000 | 0.2945 | 0.2945 | 0.0000 | Yes |
| regulatory_contagion | 0.5747 | 0.5747 | 0.0000 | 0.1793 | 0.1793 | 0.0000 | 0.0731 | 0.0731 | 0.0000 | 0.2858 | 0.2858 | 0.0000 | Yes |
| rwa_transmission | 0.5747 | 0.5747 | 0.0000 | 0.2196 | 0.2196 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2780 | 0.2780 | 0.0000 | Yes |
One micro-discrepancy was found in the sensitivity analysis (not the primary scoring):
| Scheme | Channel | Metric | Stored | Computed | Δ |
|---|---|---|---|---|---|
| Equal (33/33/33) | liquidation_cascades | composite | 0.3793 | 0.3792 | 0.0001 |
| # | Limitation | Impact |
|---|---|---|
| 1 | 200-paper cap compresses literature_volume. 10 of 14 channels hit the cap and receive an identical score (0.5747). This reduces the discriminating power of the literature volume dimension to only 4 channels. | Moderate — the dimension differentiates among only 4 uncapped channels; 10 are tied. |
| 2 | Citation-count sorting favors older, established work. The OpenAlex query sorts by cited_by_count:desc, so the top-10 papers per channel tend to be highly-cited older papers. Recent, rapidly-growing papers may be underrepresented in the top-10 used for the citation impact dimension. | Low-to-moderate — mitigated by the 2009–2026 year range restriction. |
| 3 | Crisis chronology is manually curated. A single coder selected 25 events from the 2014–2025 period. The event set is neither exhaustive nor independently validated. Smaller DeFi exploits (<$10M) are excluded. | Moderate — crisis_evidence scores depend entirely on which events are included. |
| 4 | Terra/Luna ($45B) disproportionately weights crisis_evidence. The Terra/Luna collapse activates 5 channels and contributes log10(45,000,000,000) = 10.65 per activation, the largest single weight. Channels linked to Terra/Luna receive a substantial boost. | High for affected channels — counterparty_concentration, liquidity_spirals, composability_risk, stablecoin_runs, and network_contagion all benefit. |
| 5 | Weights (35/35/30) are analytical judgment, not empirically derived. The primary weighting scheme was chosen to balance literature presence and scholarly impact equally, with a slightly lower weight for crisis history (which has fewer data points). | Low — sensitivity analysis shows the top-5 is robust across all four tested schemes. |
| 6 | API non-determinism. OpenAlex results may vary slightly across retrieval dates (new papers indexed, citations updated). The exact paper set is a snapshot, not a stable reference. | Low — the raw data files are archived for reproducibility. |
| 7 | 4 crisis losses imputed at the median ($305M). Events with "undetermined" losses (Black Thursday, SushiSwap Vampire Attack, SVB/USDC De-Peg, BTC-e Seizure) receive the median log10 weight of 8.4843. The true losses may differ substantially. | Low — log-scale compression limits the impact of imputation errors. |