March 9, 2026
Following One Battery Trade From Bid to Settlement in ERCOT
If you come to power markets from machine learning, the natural assumption is that the hard part is the forecast. Predict prices well and the rest is plumbing. I spent some time tracing what actually happens to a single battery trade in ERCOT, from bid construction through settlement, and I came away convinced that the interesting structure is in the chain itself: deadlines, information sets, mechanical dispatch, and a settlement rule that quietly defines what every strategy question even means.
The resource for this walkthrough: a battery registered as 100 MW / 200 MWh. The power rating, 100 MW, is the width of the pipe: the fastest it can charge or discharge. The energy rating, 200 MWh, is the size of the tank. Their ratio is the duration, two hours, which is why this machine gets benchmarked against two-hour price spreads. Since the RTC+B redesign went live in December 2025, ERCOT models it as a single Energy Storage Resource with one bid and offer structure, and its telemetered state of charge is a constraint the dispatch engine sees directly.
The morning before: what you know at decision time
By mid-morning the day before delivery, the participant can see ERCOT's load forecast for the operating day, wind and solar production forecasts, the outage scheduler with planned generator and transmission outages, the ancillary service requirements and demand curves for each hour of tomorrow, the morning weather model runs, and day-ahead natural gas prices trading that morning. Gas matters because it sets the thermal fleet's marginal cost, and with it the baseline level of power prices.
What you cannot see: tomorrow's actual weather, actual renewable output, forced outages that have not happened yet, and everyone else's bids. The whole day-ahead problem lives in that gap.
10:00 AM: the big irrevocable decision
At 10 AM the Day-Ahead Market closes. Through its Qualified Scheduling Entity, the battery may simultaneously submit energy offers to sell in chosen hours, each a curve of price-quantity pairs; energy bids to buy in cheap hours; and ancillary service offers per product. This decision is made 14 to 38 hours before delivery, at the deepest uncertainty and the largest position size of the whole cycle.
The question being answered is not "what will prices be." It is a portfolio question: how much of tomorrow's expected value to lock in at day-ahead prices versus leave open for real time. Selling the evening peak day-ahead hedges against a real-time crash but caps the upside of a real-time spike. Say we sell 100 MW in hour 19 at whatever the auction clears.
1:30 PM: awards, and a plan on file
Around 1:30 PM the DAM results publish. Suppose our hour-19 offer cleared at $120/MWh. That award is financially binding from the moment it publishes: 100 MWh sold at $120. From here on the participant also maintains a Current Operating Plan, an hour-by-hour declaration of expected status and limits that ERCOT uses in reliability studies.
Through the afternoon and into the operating day, offers for uncommitted hours can still be revised as new information arrives: updated weather runs, evolving load and renewable forecasts, overnight forced outages, and eventually the real-time prices themselves revealing how tight the day actually is. This adjustment period is a genuine rolling decision loop.
The operating day: nobody bids
Here is the part that surprises newcomers. During delivery there are no interval-by-interval decisions. SCED, the security-constrained economic dispatch engine, solves roughly every five minutes and dispatches the battery against whatever offer curves are standing, subject to transmission constraints and the telemetered state of charge. Seconds after each solve it issues a base point, a MW instruction, with prices published essentially simultaneously. That happens 288 times a day.
The real-time strategy is therefore entirely encoded in the shape of the curves on file. There is no advance notice of dispatch: the base point is the dispatch is the award, and an hour's total dispatch is only fully known when the hour ends, twelve base points later. What a sophisticated operator does during delivery is monitor, continuously re-forecast, and refile curves for the remaining hours when the state of charge drifts off plan.
Settlement: only the deviation trades in real time
ERCOT is a two-settlement market, and one netting rule makes every strategy question tractable: DAM awards settle at day-ahead prices, and real time settles only the deviation between physical delivery and the day-ahead position, at the real-time price of each interval.
Note what is not settled: the offer curve. Curves gate whether dispatch happens; the market price is what gets paid. A resource offering at $150 when the price clears at $200 runs and receives $200.
Three ways our hour 19 can go:
- Delivery matches the award. We discharge exactly 100 MW. The DAM leg pays $12,000, the deviation is zero, and our realized price is $120/MWh whether real time cleared at $50 or $2,000. That is what "hedged" means.
- We underdeliver into a rising market. Dispatched for only 60 MW while real time clears at $200: the $12,000 DAM leg stands, but the 40 MWh shortfall is bought back at $200, costing $8,000. Net $4,000, worse than delivering.
- We underdeliver into a falling market. Same shortfall with real time at $20: the buyback costs $800, we keep most of the $12,000, and the undischarged energy is still in the tank. Deviation as a profitable trade.
The strategic content: a day-ahead sale is a forward position against your own real-time forecast. Sell when day-ahead looks rich relative to expected real time; stay open when real time should out-pay.
The dangerous quadrant
The scenario that ends careers is the second case at scale: short into a spike. Hold a day-ahead sale, fail to deliver, and watch real time clear far above your sale price. The loss is the price gap times the undelivered volume, unbounded up to the offer cap. A 100 MWh shortfall into a $3,000 hour against a $120 sale is a $288,000 hit from one mistake in one hour.
Because SCED dispatches every megawatt offered below the price with no discretion, "prices were high and I was not dispatched" can only happen a few specific ways: your own curve priced you out; the tank was empty because energy committed to hour 19 was spent chasing hours 17 and 18; congestion pinned your node's price far below the hub everyone watches; or plumbing, meaning telemetry and ramp limits. Each failure mode has a corresponding rule, and together they form the risk doctrine: cover the state of charge backing day-ahead sales first, price committed hours to dispatch readily, save aggressive pricing for uncommitted capacity, and monitor state-of-charge-at-risk against obligations as a hard limit.
What I took away
Settlement statements arrive days later, and resettlements trickle in for months, but operators compute near-real-time P&L from base points and published prices; statements are reconciliation, not news. The forecast matters, enormously, but it is one component in a machine of deadlines, curves, telemetry, and netting rules, and the machine punishes anyone who optimizes one component while ignoring the chain. That, more than any modeling insight, is what following one trade end to end teaches.