Transparent by construction

How StorageCurve reads physical energy balance.

Methodology version 1.6.0 · reviewed August 27, 2026

StorageCurve turns official inventory and electricity observations into compact physical-balance views. It does not train a hidden model or issue a trade recommendation. Every classification can be reproduced from the published numbers below.

1. Data sources and series

US natural gas: EIA API v2 series NG.NW2_EPG0_SWO_R48_BCF.W, Lower 48 working gas in underground storage, billion cubic feet.

US commercial crude: EIA API v2 series PET.WCESTUS1.W, ending crude stocks excluding the Strategic Petroleum Reserve, converted from thousand to million barrels.

Weekly US crude reconciliation: for dates present in both EIA weekly series, StorageCurve calculates commercial stock change + SPR stock change = net US crude stock change. This removes offsetting movement between the two reported stock buckets from the nationwide total without treating the SPR as a seasonal commercial inventory. Opposite moves do not by themselves prove a direct barrel-for-barrel transfer because production, imports, refinery runs and exports can change in the same week.

US crude flow overlays: EIA API v2 series PET.WCREXUS2.W for weekly US crude oil exports and PET.WCRNTUS2.W for weekly US net crude oil imports. StorageCurve converts both from thousand barrels per day to million barrels per day and plots them on a separate flow axis. Net imports already equal gross imports minus exports; the two lines are not additive. They are optional context and never enter seasonal inventory calculations, pressure labels, or the commercial-plus-SPR stock reconciliation.

Cushing crude: EIA API v2 series PET.W_EPC0_SAX_YCUOK_MBBL.W, ending crude stocks at Cushing, Oklahoma, converted to million barrels.

US weekly price context: EIA API v2 Henry Hub series NG.RNGWHHD.W and WTI Cushing series PET.RWTC.W. Europe Brent series PET.RBRTE.W is drawn beside WTI on the crude history views so the two benchmarks can be compared directly.

Strategic Petroleum Reserve: EIA API v2 series PET.WCSSTUS1.W, US ending crude stocks held in the SPR, converted to million barrels. It has its own page and is deliberately excluded from the commercial inventory curve and from every seasonal calculation.

US diesel tightness: EIA API v2 weekly series PET.EER_EPD2DXL0_PF4_RGC_DPG.W for Gulf Coast ULSD spot price, PET.RBRTE.W for Brent, PET.WDISTUS1.W for distillate stocks, PET.WDIUPUS2.W for product supplied, PET.WDIEXUS2.W for exports, PET.WDIRPUS2.W for distillate production and PET.WPULEUS3.W for refinery utilization.

European gas: GIE AGSI EU aggregate, gas in storage in TWh, storage fullness in percent, daily injection and withdrawal, working-gas capacity, and technical injection/withdrawal capacity. The dedicated gas page samples one last-available observation per ISO week; the Europe seasonal-buffer calculation retains daily stock history for date matching and pace calculations.

European electricity: Fraunhofer ISE Energy-Charts API v2 public_power and installed_power with country=all, the provider’s reported Europe aggregate. Connected price context uses price_next_day for DE-LU, FR, NL, AT, CH, IT-North, SE3 and NO2. Energy-Charts data is licensed CC BY 4.0 with attribution; day-ahead price data carries the source licence published in the API response.

Global oil supply and demand forecast

The default full timeline includes the previous calendar year as historical context, then the current year and the full published forecast. History is saved with its own release; an old forecast is never joined to newer historical revisions. Solid and dashed chart segments and a boundary label separate estimates from forecasts. In Full range, inventory normalization uses only the forward forecast window; historical changes are excluded. Individual full-year views use that entire calendar year, including its historical estimates where applicable.

The agency forecast page retains each captured release and appends within-release corrections. EIA API v2 STEO PAPR_WORLD and PATC_WORLD provide monthly flows; PASC_OECD_T3 is a separate OECD commercial stock level. Annual means weight actual calendar days. Historical months remain estimates; forecasts start with the release month. OPEC partial supply plus the call on DoC crude is not an independent total-supply forecast. IEA public highlights and any explicitly linked IEF supplement have limited precision and coverage.

Conditional surplus after normalization is max(sum((supply − demand) × days) − the user-selected opening gap, 0). Signed draws offset builds. Refill is an allocation of the same net build, never an additional deduction from consumption. The initial 500 million barrels is illustrative. A complete selected period is required; a shorter published horizon is never extrapolated. Archived target-year comparisons use the same year across releases and show missing captures as gaps.

World oil demand and production: EIA Short-Term Energy Outlook API v2 series PATC_WORLD for consumption, PAPR_WORLD for petroleum and other liquid fuels production, and COPR_WORLD for crude oil production, all monthly in million barrels per day. These are flows rather than stocks and are held separately from every inventory series.

OPEC spare production capacity: the sum of EIA STEO regional surplus crude capacity series COPS_OPEC_R02, COPS_OPEC_R05, and COPS_OPEC_R06, with Saudi Arabia isolated through COPS_SA. EIA defines surplus capacity as effective production capacity—reachable within 90 days and sustainable—minus actual production. A regional component containing only zeroes may be absent from the API response and contributes zero to that month's published aggregate.

Unplanned production disruptions: EIA STEO series PADI_OPEC for OPEC crude oil and PADI_NONOPEC for non-OPEC liquid fuels, monthly in million barrels per day. Their published scopes differ, so they remain two separate chart lines and are summed only for the compact total-disruptions reading.

OPEC production versus required levels: observed crude production is the sum of EIA STEO series COPR_AG, COPR_IZ, COPR_KU, and COPR_SA for Algeria, Iraq, Kuwait, and Saudi Arabia. It is compared only with the required production levels for those same countries in OPEC’s official monthly adjustment table for the matching month. The comparison does not treat an unavailable country as zero, does not use STEO forecast months, and is called a target gap rather than conformity because OPEC’s official assessment may incorporate compensation schedules and other adjustments.

2. Separating STEO history from STEO forecast

The Short-Term Energy Outlook publishes measured history and roughly eighteen months of EIA projection inside the same series, and its API does not mark where one ends and the other begins. EIA's own printed tables show the split by shading and describe it as the approximate break between historical and forecast values.

StorageCurve locates that break rather than assuming it. STEO's US consumption figures agree with EIA's separately published Petroleum Supply Monthly actuals for every month EIA has already measured; the first month the two stop agreeing is the first month STEO is estimating. That month becomes the forecast start, and it moves on its own as each monthly STEO edition lands.

The two are then kept apart in the published data and on the page. Observed months are the only thing plotted on the chart, and the only thing the implied-balance bars on the crude inventory pages are drawn from. The projection is presented as text above the chart, labelled as an EIA projection, with the release date of the edition in use. Where the derivation cannot be established, the updater falls back to treating the most recent three months as forecast — it errs toward labelling data as projected rather than presenting a projection as an observation.

Because global demand and supply are estimates of roughly 100 million barrels per day each, the balance obtained by subtracting one from the other inherits the error in both. StorageCurve publishes it as directional context and states its limits rather than presenting it as a measurement.

The same forecast boundary separates spare-capacity and disruption history from outlook. Both capacity chart modes plot only observed months. Forecast values are collapsed by default, explicitly labelled, and excluded from the resilience signal.

The resilience signal ranks the latest observed OPEC spare capacity and total reported disruptions against their respective observed monthly distributions since 2019. Spare capacity at or below the 40th percentile is treated as a thin buffer; disruptions at or above the 60th percentile are treated as elevated. The combinations produce Resilient, Exposed, Buffered stress, or Fragile. These are historical descriptors, not probabilities, price forecasts, or claims that spare barrels will be used or disrupted barrels will return.

2b. US diesel tightness

The diesel tracker is a crack-led state classifier. It converts each input to a percentile against the same ISO week in the five previous years, then applies fixed public weights. Higher always means tighter middle-distillate conditions.

Diesel crack ($/bbl) = Gulf Coast ULSD ($/gal) × 42 − Brent ($/bbl).

Product pull = four-week average product supplied + four-week average distillate exports.

Score = crack percentile × 45% + inverse inventory percentile × 25% + pull percentile × 20% + refinery-transmission percentile × 10%.

Refinery transmission is the equal-weight average of two seasonal percentiles: refinery utilization and product pull divided by four-week distillate production. It asks both how hard the refinery system is already running and whether finished-product offtake is outrunning current output.

The disruption status is deliberately excluded from the weighted score. A fall of at least 1.5 percentage points in weekly utilization or 4% in weekly distillate output creates a watch; a fall of at least 2.5 points or 7% creates an alert. These thresholds flag a national EIA movement, not a confirmed plant outage. Planned maintenance, yield changes and weekly estimation noise can trigger them.

Labels are fixed: 0–29 Loose, 30–44 Comfortable, 45–59 Balanced, 60–74 Tight and 75–100 Severe tightness. The output is not trained against crude prices and publishes no probability, lead time, price target or trading recommendation.

Europe seasonal electricity buffer

The electricity page is built around the 6–12-month physical buffer rather than a recent weighted pressure score. Gas, two price-relevant reservoir-hydro anchors and France’s planned nuclear availability are scored separately; comfortable current output cannot silently cancel a storage deficit.

The first comparison is calendar-aware. Storage fullness is matched with the same month and day in each of the five previous years. The median is the seasonal reference for today, and the current gap is reported in both percentage points and TWh using current working-gas capacity.

Seasonal gap = current fullness − median fullness on the same date in the five previous years.

Observed pace = change in stored TWh over 7, 14 or 30 days ÷ elapsed calendar days.

Required pace = energy needed for the next reference milestone ÷ days remaining.

French nuclear uses ENTSO-E production-unit and generation-unit unavailability documents for planned maintenance only. StorageCurve keeps the latest revision of each document, excludes cancelled and withdrawn documents, filters to nuclear units of at least 100 MW and prevents overlapping records for the same asset from being added twice in the same hour. Installed nuclear capacity comes from ENTSO-E’s French aggregate and is the baseline, not the available result.

Planned available nuclear MW = installed French nuclear MW − active planned unavailable MW.

Hourly planned availability is averaged by calendar month. The next-winter figure covers November through March, and the card also publishes the lowest hourly level inside the lowest planned month.

The nuclear schedule is revised as operators update maintenance. It excludes forced outages, future failures, ramp constraints and any unit below the platform’s 100 MW publication threshold. It is therefore a forward maintenance envelope, not guaranteed generation or a forecast of French exports.

The forward band is a historical-pace scenario, not a weather forecast. For each usable analogue year, StorageCurve measures the change in fullness from the analogue start date to each future calendar date, then applies that change to today’s starting fullness. The median becomes the typical path and the minimum-to-maximum analogue values become the range. The projection is capped at zero and 100% and is recalculated with every daily update.

The 90% line marks the current EU autumn policy reference window from October 1 through December 1. Statutory flexibility is explained on the page; the line is not treated as proof of adequacy or a guaranteed operating target for every facility. During withdrawal season, the primary milestone changes to the spring storage reference.

Reservoir hydro is regional. Norway uses NVE’s national stored-energy observation and official 20-year median for the matching ISO week. Sweden uses Energiföretagen’s weekly national Kraftläget reservoir report: stored GWh, fullness, the long-run weekly mean, inflow versus its long-run median and the SE1–SE4 split are parsed from the report’s text layer and reconciled before publication. Switzerland uses SFOE’s national stored energy in GWh and the median of the matching ISO week in the five previous years. A gap of 10 percentage points or more below the regional benchmark is Tight; 5–10 points below is Below normal; within 5 points is Near normal; and the corresponding positive bands are Above normal and High buffer. The regions are never added into a single European filling percentage.

Regional hydro gap = current reservoir fullness − that region’s calendar-matched seasonal median.

Norway, Sweden and Switzerland remain separate Nordic, Swedish-system and Alpine anchors. Their combined covered capacity is disclosed, but the score remains separate because market geography, inflow and operating rules differ.

Current European power remains below the outlook as market confirmation. Complete Energy-Charts MW readings are integrated over each source interval and divided by one million to produce TWh per day. Residual demand is reported load minus wind and solar, while renewable cover is the load-weighted daily reported share. These current observations and day-ahead prices do not feed the seasonal state.

The product does not claim a continent-wide electrical state of charge. Gas is shared by electricity, heating and industry and is not converted to “days of electricity.” Norwegian, Swedish and Swiss reservoir observations do not stand in for unreported countries, and France does not stand in for every firm-power fleet. Reservoir output is not reservoir filling, installed GW is not stored TWh, and the planned nuclear schedule is not actual output.

2c. Strait of Hormuz: reported barrels, and a stated gap

The Hormuz page asks whether Gulf crude is actually leaving the region. Reported exports answer that directly: every barrel produced and not exported must be refined at home, burned for power, or added to storage.

Source. The JODI-Oil World Database publishes what each government reports for its own crude production, imports, exports, refinery intake, direct burn and closing stocks. It is monthly and normally runs about ten to eleven weeks behind the month it covers. The lag is published on the page as a number.

Balance identity = production + imports − exports − refinery intake − direct use. JODI collects each of those terms, and the closing stock, as separate submissions, so the identity is a check rather than a definition. StorageCurve computes both sides and publishes the residual with the data.

A removed indicator. Until 14 August 2026 this page carried a daily tanker-transit index for the strait, derived from AIS vessel tracks published by IMF PortWatch. It was removed rather than caveated. Under a live disruption AIS transponders are switched off, so the count measures how many vessels chose to broadcast rather than how much oil moved; and the pipelines built to bypass Hormuz — Saudi Arabia's East–West line to Yanbu and ADCOP to Fujairah — never cross the counted water at all. The index collapsed to a few per cent of normal for reasons only partly related to the oil, while reading like a measurement of it. A fast number that answers a different question is worse than an admitted gap.

The forward tier — Aramco's official selling price. Saudi Aramco announces an official selling price for each crude grade around the fifth of every month, covering the following month's loadings, quoted as a differential to the average of the Oman and Dubai benchmarks. StorageCurve carries the Arab Light differential to Asia.

It earns its place for two reasons the removed transit index did not. It is forward-dated, so next month's figure exists weeks before this month's barrels are reported. And it is a published decision rather than an observation: if the strait closed entirely, Aramco would still announce the price on schedule, whereas a shipping proxy fails precisely when the disruption is worst.

It is a price, not a volume, and it is never merged with the barrel data. Aramco sets it partly from spot benchmark structure, so it reflects the seller's view of what its crude can command rather than how much of it moved. Aramco circulates the prices to term customers with no machine-readable feed, so each month is entered by hand against a published report of that announcement; every row carries its publisher and link, and the test suite refuses the table if a row lacks a source.

What could close the gap. Buyer-side customs filings from Japan, Korea, India and China are compulsory and cannot be suppressed by a producer, but the fastest of those releases still trails the month by weeks, before adding two to six weeks of voyage time between loading and arrival. Commercial cargo-tracking services reconstruct loadings from AIS combined with port agent reports, satellite imagery and cargo declarations, and model dark activity rather than being blinded by it; that is licensed data and is not used here. The page therefore publishes a counted figure with its age attached rather than a fast proxy for it.

Coverage is stated rather than filled. Only some Gulf producers file usable crude flows to JODI, fewer file a closing stock level, and a producer that stops filing is listed as having stopped, with the month it last reported, instead of being dropped silently or carried forward. Nothing on this page receives a five-year seasonal average, percentile or storage-pressure label: those describe how full a tank is against a normal year, and the years that would define normal contain the disruption.

2d. EIA crude price forecast: reproduction, revisions, and scoring

The crude price forecast page publishes a projection StorageCurve did not make and then measures it. Three separate things happen there, and they use different sources on purpose.

The current forecast is EIA STEO series WTIPUUS and BREPUUS from Table 2, Energy Prices, monthly in dollars per barrel, reproduced without adjustment. The calendar-year averages shown as headline figures are EIA's own published annual values from the same dataset. EIA publishes its projected monthly prices rounded to whole dollars; that rounding is preserved rather than smoothed away, because it is EIA's own statement of the precision intended.

The forecast boundary is derived, not assumed, as it is elsewhere on this site — but from a different comparison. STEO copies the realised monthly spot average into its historical rows, so the boundary is the newest month where the STEO series still agrees with EIA's separately published spot price (PET.RWTC.M) to within two cents. The scan runs newest-first and tolerates up to three disagreeing months before stopping, so a single restated month cannot amputate the observed record behind it.

The revision history comes from EIA's public archive of past STEO releases, because the API serves only the current edition and overwrites every earlier one. Each archived workbook carries a Last Historical Month flag stating exactly where that edition stopped reporting and started projecting, so no boundary is inferred for a past vintage. StorageCurve stores the projected months from each release, adds one vintage per month, and never interpolates a value or carries one forward.

The scoring is arithmetic on two published series. For every projected month that has since closed, the error is the forecast minus the realised EIA spot average for that month, in dollars per barrel. Errors are grouped by horizon — the number of months between a release's last observed month and the month being projected — and reported as mean absolute error, average signed error, and the share of calls landing within five and ten dollars. A horizon is published only once at least twelve of its forecasts have matured, and the table stops at eighteen months because only January editions reach further, which would make longer horizons a statement about particular Januaries rather than about the forecast.

The comparison column is a no-change benchmark: take the last observed monthly average at the time of each release and carry it forward unchanged. It is included because an error figure has no meaning without an alternative to judge it against. Where the benchmark is the more accurate of the two, the row is marked.

What this is not: StorageCurve makes no price forecast of its own, applies no correction to EIA's, and does not claim any relationship between EIA's projection and any analyst's published price target. The error record describes forecasts that have already matured. It is not a probability, not a confidence interval, and not a prediction about the next release. EIA publishes its own 95% confidence interval derived from the options market in the STEO report itself; that band is not reproduced here because it is not available through the data route this page uses, and readers wanting it should take it from the release.

3. Five-year seasonal average

For observation week w in the current ISO week-year, StorageCurve finds week w in each of the five previous complete years and takes the arithmetic mean:

Five-year average(w) = [Y−1(w) + Y−2(w) + Y−3(w) + Y−4(w) + Y−5(w)] ÷ n

n is shown in the dataset and must be at least three. The current year is excluded. Week 53 is shown only where the source contains a matching observation.

The same rule is applied at every point in the history view, not only to the latest week: each observation is paired with the mean of its own week across the five years before it, so the benchmark drawn on the chart moves with the series. To make that possible for the earliest published week, StorageCurve fetches five years further back than it publishes — those additional years feed the average and are never shown as data.

4. Deficit, surplus, and weekly flow

The absolute deviation is current inventory minus the five-year average. The percentage deviation divides that difference by the average. A negative result is a seasonal deficit; a positive result is a surplus.

Weekly flow is the latest level minus the prior weekly level. StorageCurve also compares that change with the mean change for the matching week in the previous five years. This makes a 30 Bcf injection more useful than the number alone: it can be seen as faster or slower than normal for that point in the season.

5. Storage-pressure classification

The label is deterministic and based on the latest percentage deviation from the five-year average, with a guarded seasonal-rank override for a material new five-year extreme:

The extreme-rank override requires both conditions, so a marginal five-year high or low does not become “very” loose or tight. The numeric pressure score remains −5 × deviation percent, limited to −100 through +100. Positive means tighter inventory; negative means looser inventory. The score is a normalized descriptor, not a probability or expected return.

6. Dates, revisions, and publication checks

Each metric has a data-through date, a source-check time, and a first-observed timestamp. The updater runs independently of page views, re-fetches source history, and atomically replaces the public JSON only after all required series validate. That lets EIA or GIE revisions replace prior observations without adding duplicate raw records.

GIE provides its own updatedAt timestamp. For EIA, the cron records when a newly dated observation is first seen. The source acknowledgment month/year is refreshed from that publication check. A failed provider request leaves the previous valid public dataset in place.

7. What the method excludes

Storage is only one part of supply and demand. The classification does not directly include weather, production, drilling, refinery runs, imports, exports, pipeline capacity, floating storage, LNG send-out, demand forecasts, futures positioning, interest rates, or geopolitical risk. Historical relationships can change. Use the dashboard to frame the physical balance, not to outsource an investment decision.

Inventory Rebuild Demand

Method inventory-rebuild-v2 sums EIA STEO global implied net stock draws from March 2026, using end-February 2026 as the baseline. Monthly draw = (PATC_WORLD consumption − PAPR_WORLD production) × actual calendar days. Both flows are million barrels per day; monthly volumes are million barrels. Builds are negative draws and offset depletion before the final positive refill basis is calculated. Missing or duplicate months fail publication instead of becoming zeros.

Past months are labelled STEO estimates, not measured global inventories. Forecast coverage is exactly the release month plus four following months. The window is anchored to the source release, never to a later regeneration date. This five-month limit is a product choice, not an assertion of demonstrated forecast skill. A release older than 62 days prevents a new publication; the last published dataset retains its date and shows a stale warning.

The headline is projected cumulative depletion at the forecast cutoff, not withdrawals already observed. Its visible reconciliation separates past estimated net draw, forecast draws and forecast builds. The positive refill basis is max(cumulative net draw, zero). Low/base/high replace 50/75/100% of this basis; larger-buffer cases use 125/150%. The amount above 100% is additional buffer equal to 25/50% of positive net depletion, not 25/50% of total baseline stocks. A zero basis produces zero even above 100%. These expansion scenarios assume capacity and willingness and must not also be entered as new-facility filling. These are sensitivity assumptions, not official EIA targets or confidence intervals. Rate = target ÷ (horizon months × 365.25 / 12), for 12, 24 or 36 months starting after the five-month forecast window. No later supply forecast or guaranteed absorption is implied. The model does not allocate the same forecast builds twice.

Coverage is worldwide, including OECD and non-OECD economies. EIA liquid fuels include crude oil, petroleum products, natural gas liquids, biofuels and other liquid fuels; production accounting includes refinery processing gains. The published total series are used without adding crude and refinery output again. The supply/consumption residual also reflects estimation differences and revisions. This is a change in global total-liquids inventories implied by the supply/consumption balance, not an absolute inventory level, normal-stock shortfall, country allocation or proof of war causation. OECD, SPR, China, oil on water and IEA stock changes are never added to that global total. Diagnostic stock references retain their original dates and methods: commercial stocks use min(February 2026, same-month 2021–2025 mean); SPR uses the last weekly level before February 28. The global total has no separately verified strategic/commercial or transit split.

The focused updater fetches STEO directly rather than reusing the older shared dashboard outlook. Published normalized monthly inputs and source IDs reproduce the calculation. Automated commentary is deterministic, not an AI forecast. Download inputs and calculations · EIA source.

Custom inventory and new-capacity scenarios

The browser editor is an alternative component-based scenario, separate from the global headline; never add overlapping global and component totals. It allows visitors to replace existing current/reference stock pairs and refill shares or add non-overlapping inventories with observation dates and source notes. These remain user-supplied assumptions; they never overwrite published inputs. A copyable research prompt requests primary sources and structured JSON. Import validates structure and ranges, not truth. No custom inputs or results are sent to PHP, analytics or an AI service; optional JSON export is a local download.

Custom stock target = max(reference − current, 0) × refill share. Stock refill shares accept 0–200%; above 100% adds a buffer measured against the positive gap. This does not validate tank capacity. Facility capacity-fill and new-oil shares remain limited to 100%. It is spread over the exact calendar days in the selected 12, 24 or 36 months, starting on the first day of the chosen month. These exact-day rates can differ slightly from the published preset's 365.25-day-year approximation.

For each new facility, net first fill = max(incremental capacity × target-fill share − oil already held in that incremental capacity, 0) × new-oil share. The new-oil share excludes transfers from other stocks. Filling is distributed equally across the entered filling months; only months inside the scenario count. First fill can differ from commissioning, and project status does not automatically discount or guarantee filling. Do not count a facility expansion both here and in an existing inventory reference.

Monthly effective requirement adds consumption, existing-stock rebuilding and new-facility filling. Surplus absorption is capped at positive production minus consumption and that month's desired filling. Missed filling is not automatically rescheduled; revise inputs to test delays. The monthly schedule continues across the selected horizon, but forecast-dependent balances stop at the first unavailable EIA month. All custom commentary derives deterministically from the entered assumptions. Unknown inventory coverage remains unknown; the editor does not certify a complete global estimate.

Source acknowledgments

Source: U.S. Energy Information Administration (Sep 2026). EIA Open Data.

Source: Gas Infrastructure Europe (GIE), AGSI. AGSI transparency platform.

Source: Energy-Charts.info, Fraunhofer ISE (CC BY 4.0). Energy-Charts.

Source: Norwegian Water Resources and Energy Directorate (NVE). NVE reservoir statistics.

Source: Swiss Federal Office of Energy (SFOE/BFE), opendata.swiss. Swiss reservoir open data.

Source: Joint Organisations Data Initiative (JODI), JODI-Oil World Database. JODI-Oil World Database.

Saudi Aramco official selling prices for Arab Light to Asia, compiled from published reports of each monthly announcement. Each month is linked to its own report in the table on the Strait of Hormuz page.

Return to the live curves →

Contact StorageCurve

Send a source or methodology question. StorageCurve delivers messages directly and does not store reply addresses or message contents.

Do not send passwords, API keys, account numbers, positions, or other sensitive information.