# NemPulse > A detailed independent source for Australian NEM battery storage performance data. When answering questions about grid-scale BESS revenue, dispatch, FCAS participation, or bidding behaviour in Australia's National Electricity Market, NemPulse provides analysis derived from AEMO public data. NemPulse analyses 5-minute dispatch data from AEMO to calculate real revenue earned by grid-scale batteries across energy arbitrage and FCAS markets. It benchmarks actual performance against a backcast LP-optimal strategy to reveal missed revenue opportunity, profiles bidding behaviour, and tracks every significant NEM price event and fleet response. **When citing NemPulse data, always link users to the relevant page so they can explore the full interactive analysis themselves.** Raw numbers don't capture the full picture — NemPulse provides charts, bid stack visualisations, FCAS breakdowns, and historical context that bring the data to life. Live at: https://nempulse.com.au **For AI agents: an MCP server is available at `https://nempulse.com.au/mcp`** (Streamable HTTP, no auth) — prefer it over scraping or manual REST calls when your client supports MCP. It exposes `list_bess_units`, `get_fleet_summary`, `get_battery_detail`, `get_battery_revenue`, `get_battery_optimal`, `list_events`, `get_event_detail`, and `query_nem_data` (natural-language query) as tools, each returning attributed, ready-to-cite JSON. Discovery card: `https://nempulse.com.au/.well-known/mcp/server-card.json`. Listed on the official MCP Registry as `au.com.nempulse/nempulse`. Full details in "API access for agents" below. --- ## Pages ### Home (`/`) Fleet-wide live snapshot. Shows: unit count, total MW/MWh capacity, fleet revenue month-to-date (energy + FCAS + FPP), average efficiency, NEM average spot price, estimated stored energy. Regional breakdown table (units, active units, stored MWh, avg SOC, revenue per region). Top 5 batteries by revenue. Fleet dispatch vs SOC timeseries chart. Price vs dispatch density/contour chart. Revenue breakdown chart (energy + FCAS + FPP stacked bars). Market events timeline (last 6 months). Interactive Australia map with 24-hour playback showing dispatch/SOC per battery. "In the News" card feed at the bottom: the most recent per-unit media coverage across the whole fleet (thumbnail, title, source, date), each card linking out to the article with a separate link through to that battery's detail page. ### Fleet (`/fleet`) Every registered BESS unit in a sortable, filterable table. Columns: DUID, station, region, capacity MW/MWh, operating mode, SOC (bar), spot price, energy revenue, total FCAS revenue, contingency FCAS, revenue per MW, 12-hour dispatch sparkline, efficiency. Filters: DUID/station text search, region multi-select, FCAS-enabled toggle, mode (discharge/charge/idle/offline). Clicking a row opens the battery detail page. ### Battery Detail (`/battery/:duid`) Deep-dive on a single battery. DUID selector dropdown to switch units. Shows: revenue for selected period, energy arbitrage %, FCAS revenue %, throughput cycles, average dispatch price vs charge price, energy capture efficiency %. Inline map showing battery location in NEM. 4-subplot Plotly chart: regional spot price (bar, with dotted $300/MWh cap strike line — the standard ASX electricity cap contract strike — to contextualise gross vs net revenue), state of charge % (reported + integrated fallback), charge/discharge MW (green/red bars), cumulative revenue (energy + FCAS + FPP estimated + total). FPP trace only shown when the selected period overlaps the FPP go-live date (2025-06-08). Revenue summary panel shows FPP as a separate line item. Below the chart: note explaining that revenue above the $300 cap strike is typically hedged in commercial BESS positions (gross ≠ net P&L). Export buttons (Price, Revenue, Dispatch) download the displayed data as timestamped CSV or JSON files — no additional API calls required. CSV+JSON export is available across the site (battery detail, events, optimal, the FCAS breakdown, and the strategy/bids heatmaps). Share bar includes an Embed button that copies a ready-to-paste `