Euro-area excess liquidity has fallen by more than half from its 2022 peak, and the Eurosystem is heading for a balance sheet built on demand rather than supply. This page rebuilds the history from the ECB's own series, reconstructs the liquidity identity term by term, fits the relationship between reserve ampleness and secured funding spreads, and lets you push every lever Schnabel put on the table — the reserve ratio, its remuneration, the runoff pace, the structural portfolio — to see where reserves and repo end up.
How euro transmission works end to end: what the ECB controls, who may transact with it, why the floor leaks, and what the drain in reserves does to money-market spreads. Written for readers who know the institutions but not the plumbing.
The technical companion: every actor's outside options, the collateral rulebook, the fair take-up model, and the fragmentation and rating-cliff analysis. Assumes the primer.
Every chart carries ⧉ copy png svg csv ⧉ data in its top-right corner. Copy puts the image straight on the clipboard for pasting into a note; csv and ⧉ data give you the numbers actually plotted, for the series currently shown and the window currently zoomed to.
Excess liquidity is what euro-area banks hold at the Eurosystem above their minimum reserve requirement — current accounts plus the deposit facility, less required reserves. It peaked at just under €4.75trn in November 2022 and has been falling ever since, first through TLTRO III repayment and then through the run-off of APP and PEPP. The projection is the ECB's own published redemption profile carried forward; the levers in §05 move it.
Daily. Solid to the last observation, dashed thereafter. Two forward paths are shown: portfolio runoff only, which takes today's excess liquidity and subtracts the ECB's own published APP and PEPP redemption table and nothing else, and the full liquidity identity, which also carries banknote growth, the rising reserve requirement and endogenous refinancing take-up from the scenario in §05. The gap between them is what pure runoff arithmetic misses. Shaded band spans the ECB staff range for future excess reserve demand, €600bn to €2.2trn, from Schnabel (6 November 2025). Source: ECB Data Portal
Outstanding main refinancing operations, €bn. This is the safety valve. In a demand-driven framework, banks bidding at the weekly operation is not a symptom of stress — it is the mechanism working, and it is the first thing that should move as reserves approach the level banks actually want to hold. Take-up has been negligible for most of a decade and has started to pick up.
The scale variable matters. Afonso, Giannone, La Spada and Williams show the reserve demand curve is only stable once reserves are expressed relative to bank balance sheets. US thresholds for reference: abundant above 12–13%, ample 8–13%, scarce below 8%.
The ECB's own rolling 24-month forward table, scraped from the APP and PEPP implementation pages. This is the baseline runoff — not our estimate.
Excess liquidity is not a policy choice made in isolation. It is what is left over once the Eurosystem's asset holdings meet the autonomous factors — banknotes, government deposits, the rest of the balance sheet — and the reserve requirement. Every term below is a published ECB series, averaged over the reserve maintenance period, which is the frame the ECB itself uses for liquidity analysis.
Maintenance-period averages, €bn. Bars above the axis provide liquidity, bars below absorb it. The black line is the resulting excess liquidity — it is the sum of the bars, not a separate series, which is the point of showing it this way.
Banknotes in circulation went from €630bn in 2006 to over €1.6trn. That growth is a permanent liquidity absorption and is the main reason the pre-2008 balance sheet is not a template for where the Eurosystem is heading.
The striking fact in the euro-area data is how little has happened. Reserves are down more than €2.5trn from the peak and both unsecured and secured overnight rates are still sitting within a few basis points of the deposit facility rate. The €STR discount to the DFR has, if anything, narrowed as reserves fell. The ECB's own estimate of the sensitivity of €STR to liquidity is not statistically different from zero today. The regression below re-estimates that relationship live, on whatever sample window you choose.
Basis points. Above zero means funding is more expensive than parking cash at the ECB. GC Pooling is the Eurex ECB-basket general collateral repo index (STOXX SGCPFR, ISIN DE000A0Z3M09); the MMSR lines are ECB-published secured overnight rates per maintenance period, split by collateral issuer.
Each dot is one observation: ampleness on the x-axis, spread to DFR on the y-axis, with an ordinary least squares fit over the selected window. Ampleness is the scale-free view; §04 plots the same relationship in euro levels and fits the ECB's own functional form to it. Click any legend entry to hide that series.
GC Pooling overnight minus the deposit facility rate, against excess liquidity. The relationship is inverse and it runs the opposite way to intuition: more central bank liquidity pushed repo down relative to the DFR, because the purchases that created the liquidity also took the collateral out of the market. German collateral traded more than 100bp below the DFR at the 2022 peak of scarcity. As the portfolio runs off and free float returns, the spread has climbed back through zero. This is why the secured and unsecured legs need separate treatment.
The relationship the whole argument rests on: what the unsecured overnight rate does as reserves drain. Plotted against excess liquidity in euros rather than as a share of assets, because that is the axis every desk actually thinks in, and spliced back to 2007 so the scarce end of the curve — the part the euro area is heading back towards and has not visited since 2014 — is actually on the chart.
€STR from October 2019, the ECB's own €STR-methodology backcast from March 2017, and EONIA before that, put on a common basis by a measured adjustment
Lemke and Vladu normalise the spread by the corridor width, δ = MRO − DFR, so the mapping is scale-free and forward rates are E[DFR] + δ·E[g(X)]. That makes the March 2024 decision to cut δ from 50bp to 15bp a direct compression of how much any liquidity surprise can move money market rates — and therefore of how much it can move the curve. Same fitted g, three corridor widths.
The same points, ordered by time rather than plotted against liquidity. The colouring is shared with the chart above, so you can see which arm of the curve each era occupied. The euro area has not been on the steep part since 2014.
Everything below recomputes on every input change. The baseline is not a guess: asset runoff follows the ECB's published redemption table, autonomous factors grow at their own trailing rates measured from the data, and the reaction-function constants are seeded from the regression fitted in §03. Move a lever and you are departing from that baseline deliberately — the readouts tell you by how much.
The demand-driven framework means reserves cannot fall much below what banks want to hold: once they do, banks bid at the refinancing operations and the Eurosystem supplies the difference. The take-up friction lever controls how reliably that happens — the ECB's own research finds banks reluctant to use standard operations even without stigma.
Basis points, from the logistic reaction function plus the collateral term.
Refinancing operations plus any structural LTRO, €bn.
Legacy monetary policy portfolios running off, the structural portfolio and structural LTROs building, €bn.
In Towards a new Eurosystem balance sheet (6 November 2025) Schnabel set out how the Eurosystem gets from here to a steady-state balance sheet. Three things matter for the numbers on this page: the size of future reserve demand, the sequencing of structural operations, and the maturity of the structural portfolio.
The current scenario's excess liquidity path against the three ECB staff demand anchors. Where the path crosses a line is the point at which the Eurosystem has to start supplying reserves on demand rather than passively holding them.
| Reserve demand scenario | Reserves, €bn | Share of HQLA | Crossing date | Ampleness at crossing | Implied €STR–DFR |
|---|
Reserve demand figures are ECB staff estimates as reported in the 6 November 2025 speech: €600bn if banks hold 10% of their high-quality liquid assets as reserves, €2.2trn at 30%. The midpoint is ours. Crossing dates are outputs of the scenario as currently set, not forecasts.
Everything above assumes a particular answer to a question that is easy to skip past: when reserves get scarce, what happens? The euro area and the United States answer it in structurally different ways, and the difference is not a detail of plumbing — it decides whether a page like this is forecasting a problem or just describing an adjustment.
The ECB fixes the price and lets banks choose the quantity. Weekly MROs and three-month LTROs are fixed-rate tenders with full allotment against a broad collateral set that includes non-marketable credit claims — bank loans. If money market rates drift up towards the MRO rate, borrowing there becomes economic, banks bid, and reserves are created endogenously.
So the marginal unit of reserves is supplied on demand. The ECB does not have to know where the reserve demand curve is, which is convenient, because its own staff put the answer somewhere between €600bn and €2.2trn — a factor of nearly four.
The Fed sets the quantity through purchases and runoff, and administers the price through IORB and the ON RRP award rate, relying on arbitrage to hold the market inside the target range. Reserve requirements have been zero since March 2020, so every dollar of reserves is voluntary.
That means the Fed must estimate an unobservable, shifting demand curve and pick a quantity. Get it wrong and the price breaks. Its own research finds bank reserve demand is steep — small quantity errors, large rate errors.
This is the most commonly misread fact on this page. €STR trading roughly 7bp under the DFR is not a symptom of excess liquidity — it is a composition effect in the benchmark, and it has barely moved while reserves halved.
€STR is built from banks' unsecured overnight borrowing from financial counterparties, and most of those counterparties are money market funds, insurers and pension funds that have no ECB account. Their outside option is not the deposit facility; it is a repo or an uninvested balance. A bank borrowing from them has no reason to pay the DFR when it can already earn the DFR on the reserves it holds, so it takes the money below the floor and keeps the difference — and discounts further for the leverage-ratio cost of the extra balance sheet.
The mechanism is identical in the United States: the Federal Home Loan Banks supply over 90% of fed funds lending and cannot earn IORB, so they lend below it, and foreign banks run the arbitrage. The difference is that the Fed built a sub-floor and the ECB deliberately did not. Any US lender that would otherwise accept less than the ON RRP rate can go to the Fed instead. The ECB has said it sees no need to give non-banks access to the Eurosystem balance sheet, so nothing catches €STR and it settles permanently under the DFR.
Basis points. €STR to the DFR, EFFR and SOFR to IORB. The euro spread is a flat structural wedge; the US spreads move with reserve conditions — including the autumn 2025 episode when SOFR repeatedly printed above the top of the target range at month-ends.
Reserves as a percentage of domestic bank total assets, euro area and United States. The reference band is the New York Fed's ample range for the US, 8–13%. The euro area has been below it throughout and shows no rate sensitivity, which is either evidence that the US thresholds do not travel, or evidence that the demand-driven framework is doing exactly the job it was designed to do.
| Euro area | United States | Why it matters here |
|---|
Two caveats the ECB itself would accept. The elastic-supply mechanism only works if banks are willing to use the MRO, and the euro area has never had to test that at low reserve levels — the take-up friction lever in §05 is exactly this uncertainty. And the ECB's own research notes that around 40% of euro overnight repo now trades above the DFR on hedge fund collateral demand: the same non-bank pressure that pushed US repo above IORB is present in euro markets. The euro-area framework has a better shock absorber. It does not have a different shock.
The literature on reserve demand and its pass-through to funding rates, swept across ECB working papers, occasional papers, Economic Bulletin boxes, blog posts and speeches, with the comparative Fed and BIS work that the euro-area papers build on. Every link goes to the primary document.
No number on this page is typed in by hand. Every series is fetched from its publisher at build time by scripts/fetch_data.py, registered in scripts/sources.py, and written to a snapshot with its exact API URL and fetch timestamp. At page load the ECB series are re-fetched live and spliced over the snapshot, so the page is current even if the snapshot is not.
The full-resolution snapshot behind this page — every observation, every API URL — is at data/snapshot.json, served with an open CORS header so you can pull it straight into a notebook. The pipeline, the source registry and this template are in the repository; the page you are reading is a build artifact of them.
| Series | Provider | Freq | Obs | Range | Latest | Machine URL |
|---|
SRC Primary references. Isabel Schnabel, Towards a new Eurosystem balance sheet, ECB Conference on Money Markets, 6 November 2025. STOXX, GC Pooling EUR Funding Rate.
API ECB Data Portal. data-api.ecb.europa.eu returns access-control-allow-origin: * on simple GETs, so the live refresh works straight from the browser. It rejects CORS preflight with 403, so the page sends no custom headers at all and negotiates format through the ?format= query parameter. Live refresh pulls the recent tail of each series and splices it over the snapshot; anything marked live came off the API in this session.
GC GC Pooling is snapshot-only. quotes.stoxx.com sends no CORS header, so a browser cannot fetch it. The series is scraped at build time by fetch_data.py --with-gc, which reads the API key out of the public page source rather than hardcoding it. Refresh it by re-running the fetch script. The ECB's MMSR secured overnight rates are the CORS-fetchable alternative and are shown alongside.
DER Derived series. The ECB's own daily excess liquidity series (ILM.D.U2.C.EXLIQ.U2.EUR) only starts in 2023. Longer history is reconstructed from its definition — current accounts plus deposit facility less minimum reserve requirements — and validated against the published series on every overlapping day.
MOD The projection is arithmetic, the reaction function is not. The liquidity path is an accounting identity rolled forward: published redemptions, autonomous factors at their measured trailing growth, reserve requirements at the ratio times the reserve base. That part is mechanical. The mapping from reserve ampleness to funding spreads is a behavioural assumption, seeded from a regression on historical data but extrapolated into a region the euro area has never visited. The ECB's own published estimate of the sensitivity of €STR to liquidity is not statistically different from zero. Treat the spread outputs as a way of pricing a view, not as a forecast.