ERCOT Battery Revenue Stack After RTC+B: Every MW Has an Opportunity Cost
Lone Mesa Battery is a 100 MW / 200 MWh Energy Storage Resource in ERCOT.
A weak revenue model gives it five independent lines:
Energy arbitrage
+ Regulation
+ RRS
+ ECRS
+ Non-Spin
=
battery revenue
Then it forecasts each line separately and adds them.
That can produce revenue from the same 100 MW several times over.
After ERCOT's Real-Time Co-optimization Plus Batteries implementation, that is an even worse representation of the market.
RTC+B went live on December 5, 2025. ERCOT now clears energy and Ancillary Services together in the Real-Time Market while explicitly considering battery state of charge.
Lone Mesa therefore does not own five revenue businesses.
It owns one constrained asset whose:
- 100 MW power limit;
- 200 MWh energy inventory;
- state of charge;
- charging opportunity;
- efficiency;
- qualification; and
- degradation budget
are continuously allocated among competing products.
The revenue stack is an optimization problem.
The current ERCOT products are not interchangeable
ERCOT's core Ancillary Service capacity products include:
- Regulation Up;
- Regulation Down;
- Responsive Reserve Service;
- ERCOT Contingency Reserve Service; and
- Non-Spinning Reserve.
They solve different operational problems.
Regulation moves continuously around the dispatch base point to balance supply and demand and control frequency between SCED intervals.
RRS is fast frequency-responsive reserve for sudden frequency events.
ECRS is a contingency / uncertainty product that can respond within ten minutes.
Non-Spin is a slower reserve product intended to cover longer uncertainty and reserve-replacement needs.
The product name is not enough for a battery model.
The duration requirement determines how much MW a given energy inventory can support.
After NPRR1282 became effective with RTC+B:
Regulation duration requirement 30 minutes
RRS duration requirement 30 minutes
ECRS duration requirement 1 hour
Non-Spin duration requirement at least 4 hours
The older two-hour ECRS references that still appeared in parts of the Protocol language are a documentation-cleanup issue: ERCOT's current 2026 NPRR1339 explicitly says the as-built ECRS duration is one hour.
For storage economics, that is a large difference.
A 100 MW / 200 MWh battery is not a 100 MW provider of every reserve product
Start with Lone Mesa fully usable at:
Power limit 100 MW
Usable energy 200 MWh
Ignore reserve margins and efficiency for one moment.
The energy requirement alone gives an intuitive ceiling:
Regulation / RRS — 30 minutes
100 MW × 0.5 hour
= 50 MWh
Lone Mesa has enough energy to support 100 MW from a pure duration perspective.
ECRS — one hour
100 MW × 1 hour
= 100 MWh
Again, the 200 MWh battery has enough energy to support the full 100 MW from a duration perspective.
Non-Spin — four hours
To support 100 MW for four hours would require:
100 MW × 4 hours
= 400 MWh
Lone Mesa has only 200 MWh.
Its simplified duration-only ceiling is therefore:
200 MWh / 4 hours
= 50 MW
The same battery that can theoretically support 100 MW of a 30-minute or one-hour product can support only 50 MW of a four-hour product before applying the rest of the qualification and SOC rules.
Duration is not an asset footnote.
It defines the feasible product set.
Current state of charge can cut the feasible award again
Now move Lone Mesa away from full charge.
Assume at one real-time interval:
Actual SOC 120 MWh
Minimum operating SOC 20 MWh
-------
Simplified discharge energy available 100 MWh
Again ignoring efficiency and additional ERCOT constraints solely to expose the arithmetic:
30-minute reserve
100 MWh / 0.5 hour
= 200 MW energy-supported capability
Power limit = 100 MW
→ simplified ceiling = 100 MW
ECRS
100 MWh / 1 hour
= 100 MW
Non-Spin
100 MWh / 4 hours
= 25 MW
Lone Mesa did not lose nameplate capacity.
Its state of charge changed which service it could stand behind.
That is one of the central reasons RTC+B's explicit battery modeling matters.
A spreadsheet that offers 100 MW of every reserve product because the inverter says 100 MW is not modeling an energy-storage resource.
RTC+B changed the real-time allocation problem
Before December 2025, ERCOT did not co-optimize energy and Ancillary Services in the Real-Time Market in the way RTC+B now does.
ERCOT describes RTC+B as the most substantial enhancement to the Real-Time Nodal market since 2010.
At go-live, ERCOT confirmed that the Real-Time Market began:
- clearing energy in real time;
- clearing Ancillary Services in real time; and
- dispatching Regulation Service
through the RTC+B systems.
The battery model also moved to the single-model framework, with state of charge included in the market representation.
The financial implication is not:
Add a new RTC+B revenue line.
It is:
Recalculate which combination of energy and reserves is optimal and physically feasible in each interval.
RTC+B changes allocation.
The products are still constrained by the same battery.
The energy trade has a real marginal cost
Now put economics around one piece of Lone Mesa.
Assume a simple energy-arbitrage opportunity:
Discharge volume 50 MWh
Discharge price $60/MWh
Charging price $20/MWh
Round-trip efficiency 88%
Illustrative degradation cost $15/MWh discharged
To deliver 50 MWh after an 88% round-trip efficiency assumption, Lone Mesa needs:
50 / 88%
= 56.818 MWh of charging energy
Charging cost:
56.818 × $20
= $1,136
Discharge revenue:
50 × $60
= $3,000
Illustrative degradation cost:
50 × $15
= $750
Net contribution:
$3,000
- 1,136
- 750
= $1,114
or:
$1,114 / 50 MWh
≈ $22.27/MWh discharged
The $15/MWh degradation value is a teaching assumption.
A production model should derive it from the project's actual warranty, augmentation strategy, replacement-cost assumptions and cycle/calendar degradation model.
The important point is that the $40/MWh gross spread did not produce a $40/MWh margin.
Efficiency and asset consumption turned it into roughly $22.27/MWh.
An Ancillary Service award competes with that energy opportunity
Now assume Lone Mesa can either discharge 50 MW into the energy opportunity for one hour or preserve that 50 MW for RRS during the same hour.
For a clean comparison, assume:
- no RRS deployment occurs during the hour;
- the RRS reservation prevents that 50 MW energy discharge;
- other future-SOC effects are ignored.
Energy option:
50 MWh × $22.27/MWh
≈ $1,114 net contribution
Now test two illustrative, not market-observed, RRS prices.
RRS at $15/MW-hour
50 MW × $15
= $750
Under the simplified assumptions, energy is more valuable.
RRS at $25/MW-hour
50 MW × $25
= $1,250
RRS is now more valuable.
The simplified breakeven is roughly:
$22.27/MW-hour
That number moves with:
- charge price;
- expected discharge price;
- efficiency;
- degradation;
- expected reserve deployment;
- future state-of-charge value; and
- the ability to earn other products simultaneously.
This is what an opportunity-cost model is for.
The correct input to an AS offer is not "last month's average RRS price."
It is what the battery gives up by reserving that MW now.
Revenue lines cannot all be maximized independently
Suppose a model says, in the same hour:
Energy discharge 100 MW
RRS award 100 MW
ECRS award 100 MW
Non-Spin award 50 MW
and books revenue on all four.
That is not a 100 MW battery revenue stack.
It is 350 MW of assumed obligations sitting on a 100 MW power converter.
Some co-provision can be permitted under the market rules and physical configuration.
The actual feasible combination depends on ERCOT's offer, award, deployment, SOC and qualification constraints.
So the model needs constraints such as:
Power used for simultaneous obligations
<= physical / market-qualified capability
Energy required to sustain awards
<= SOC available under applicable duration rules
The exact ERCOT implementation belongs in the dispatch engine.
The financial model should at least refuse physically impossible combinations.
Availability revenue and deployment energy are not the same cash flow
Ancillary Services are commonly discussed as if the battery is paid only to sit idle.
That is incomplete.
There are two separate economic questions:
- what the battery earns for the AS capacity award; and
- what happens when ERCOT actually deploys the service.
Regulation is especially different from a reserve product that may remain undeployed for most of an hour.
ERCOT's official Ancillary Services dashboard explicitly separates:
- deployed and undeployed Regulation; and
- the total real-time awards for RRS, ECRS and Non-Spin.
For degradation modeling, the relevant variable is not just:
MW of AS award
It is the actual energy throughput and state-of-charge movement created by providing and being deployed for that service.
A 50 MW award with almost no physical movement is not equivalent to a 50 MW award that produces repeated charge/discharge response.
The revenue may be quoted in $/MW-hour.
The asset wear is driven by MWh, SOC range, power, temperature and other operating conditions.
Regulation needs a mileage / throughput model, not a full-cycle assumption
Regulation is deployed on a much faster timescale than SCED.
ERCOT's official AS study describes Regulation as being deployable every four seconds to balance supply and demand between five-minute SCED intervals.
That does not mean:
1 hour of 50 MW Reg-Up award
=
50 MWh discharged
Nor does it mean zero throughput.
The actual energy moved depends on the AGC / regulation signal and the resource's response.
A financial model that converts every MW-hour of Regulation capacity into a full MWh of discharge will overstate degradation.
A model that charges zero degradation to Regulation will understate it.
For Lone Mesa I would model:
Regulation capacity award MW
×
Historical / modeled mileage MWh moved per MW-hour awarded
×
Degradation cost $/MWh throughput
=
Regulation degradation cost
The mileage assumption must come from the operating strategy and ERCOT data, not from the capacity award itself.
Duration requirements changed with RTC+B
This is another place old ERCOT battery models can be stale.
Effective December 5, 2025, NPRR1282 changed the applicable duration requirements to:
Regulation 30 minutes
RRS 30 minutes
ECRS 1 hour
and retained a much longer requirement for Non-Spin.
The rationale ERCOT presented was operational:
- Regulation and RRS need sufficient duration to cover SCED unavailability / frequency obligations;
- ECRS deployment history supported a one-hour duration;
- Non-Spin risk-relevant deployments justified maintaining at least four hours.
A 2026 battery model using the old two-hour ECRS qualification requirement can therefore understate the ECRS capability of a two-hour battery.
A model using the old 15-minute Reg / RRS requirement can overstate the capability of a very short-duration asset.
Use the current rule set.
DRRS is not current 2026 battery revenue
ERCOT's Ancillary Service architecture is still evolving.
Dispatchable Reliability Reserve Service has now been approved through NPRR1309, with implementation planned for 2028.
But the separate proposal to allow Energy Storage Resources to participate — NPRR1340 — remains pending as of October 2026.
So Lone Mesa's 2026 revenue model should not contain:
DRRS revenue
as though batteries can already earn it.
A forward model can include a scenario for future DRRS participation.
It should label:
Product implementation date
ESR eligibility status
price assumption
qualification assumption
separately.
Future market design is a scenario.
It is not historical revenue.
The AS quantity itself can change
Supply competition is only one driver of Ancillary Service economics.
ERCOT also changes the amount it procures.
In August 2026, ERCOT updated the 2026 minimum monthly ECRS and Non-Spin requirements and described changes to procurement beginning September 1.
That means the AS market has two moving sides:
Supply willing / qualified to provide service
and
ERCOT quantity procured
A model that forecasts AS prices only from battery buildout is incomplete.
Procurement methodology can move the demand curve.
RTC+B also changed real-time co-optimization and AS demand-curve mechanics.
This is why a long-term AS price forecast should state the market-rule regime it assumes.
A two-hour battery has a different product map from a four-hour battery
Lone Mesa is two hours.
Create a second battery:
Long Mesa
100 MW / 400 MWh
4-hour duration
At full usable SOC, ignoring reserve margins and efficiency solely for the duration comparison:
| Product | Duration requirement | Lone Mesa 2h duration ceiling | Long Mesa 4h duration ceiling |
|---|---|---|---|
| Reg / RRS | 0.5h | 100 MW | 100 MW |
| ECRS | 1h | 100 MW | 100 MW |
| Non-Spin | 4h | 50 MW | 100 MW |
The extra 200 MWh does not increase the power converter.
It opens more of the longer-duration reserve product.
In PJM, the same duration increase can also improve capacity accreditation.
In ERCOT there is no PJM-style capacity payment, but duration still changes which reserve and energy strategies are feasible.
That is a much cleaner reason to model duration than saying "longer batteries earn more."
Sometimes they do.
The value has to be traced to the products and spreads that the extra MWh unlock.
A tolling agreement changes who optimizes the stack, not the physical constraints
Now suppose Lone Mesa signs a toll.
The toller receives dispatch rights and market revenue in exchange for contracted payments under the negotiated structure.
That can convert merchant revenue into a more financeable cash flow for the owner.
It does not make degradation disappear.
If the toller controls dispatch, the contract needs to allocate:
- annual / term throughput;
- equivalent cycles;
- SOC windows;
- augmentation responsibility;
- availability;
- efficiency degradation;
- excessive cycling;
- warranty compliance; and
- compensation for operating outside agreed limits.
The finance model should therefore link:
Toll revenue
minus
owner-retained degradation / augmentation cost
=
contracted contribution to CFADS
not simply treat the capacity payment as a gross substitute for merchant EBITDA.
The visible payment and the invisible asset consumption belong in the same calculation.
The revenue stack needs a cost stack underneath it
For Lone Mesa I would build the model in this order.
1. Physical constraints
Power 100 MW
Usable energy 200 MWh
SOC minimum / maximum project assumptions
Round-trip efficiency 88% illustrative
2. Current product rules
Reg duration 0.5h
RRS duration 0.5h
ECRS duration 1.0h
Non-Spin duration 4.0h
Then apply actual ERCOT qualification requirements.
3. Energy opportunity value
Discharge price
- charging cost / efficiency
- degradation
- variable O&M
=
net energy margin per MWh
Our teaching hour:
$60
- ($20 / 88%)
- $15
≈ $22.27/MWh
4. AS value
For each service:
Award MW
× AS price
+
deployment energy settlement
-
deployment / mileage degradation
-
foregone energy opportunity
=
net AS contribution
5. Constraint check
MW awards / dispatch within power limits?
MWh obligation within SOC and duration limits?
SOC feasible after expected deployment?
6. Net strategy value
Energy margin
+ AS capacity revenue
+ deployed-energy revenue
- charging energy
- degradation
- augmentation
- penalties / non-performance costs
=
merchant battery contribution
That is a revenue stack.
The old version — adding independent gross product revenues — is a list of markets.
The lender should underwrite the optimization, not the historical pie chart
A financing case for Lone Mesa needs to answer:
- Which market rules are current after RTC+B?
- Which AS products can this exact duration provide?
- What is the current SOC constraint on each award?
- Are energy and AS revenues generated from one co-optimized dispatch or independent forecasts?
- What opportunity cost is embedded in AS offers?
- What charging cost and efficiency sit behind arbitrage?
- What degradation cost is charged to actual throughput?
- What Regulation mileage assumption converts MW awards into MWh movement?
- What ECRS / Non-Spin procurement requirement is assumed?
- Are future products such as DRRS modeled only when implemented and eligible?
- What merchant downside is used for debt sizing?
- If tolling is present, which degradation and augmentation costs remain with the owner?
The lender does not need to guess which percentage of next year's revenue will be energy and which will be Ancillary Services.
It needs a model that can re-optimize when those relative values move.
Lone Mesa's one-hour decision
Return to the simplest teaching hour.
Lone Mesa has 50 MW available either for discharge or for RRS.
The energy opportunity is:
50 MWh × $22.27/MWh
≈ $1,114
At an illustrative RRS price of $15/MW-hour:
50 MW × $15
= $750
Energy wins.
At an illustrative RRS price of $25/MW-hour:
50 MW × $25
= $1,250
RRS wins before deployment and future-SOC adjustments.
That is the battery business in one calculation.
Not:
Is arbitrage bigger than Ancillary Services this year?
But:
What is the highest risk-adjusted net value of this MW and this MWh in this interval, after the asset cost of earning it?
RTC+B moved ERCOT closer to answering that question inside the real-time dispatch architecture.
The financial model should do the same.
Primary sources: ERCOT — RTC+B Go-Live, Dec. 5, 2025 · ERCOT — Current Ancillary Services Dashboard · ERCOT — Current Nodal Protocols · ERCOT NPRR1282 — Ancillary Service Duration Under RTC · ERCOT NPRR1339 — RTC+B Protocol Alignment · ERCOT — 2026 Minimum Monthly AS Requirements Update · ERCOT NPRR1309 — Dispatchable Reliability Reserve Service · ERCOT NPRR1340 — Proposed ESR Participation in DRRS