Developer onboarding

Go from commercial evaluation to working API calls quickly.

BatteryArb is designed to survive both buyer review and technical diligence. Use the quickstart files, Postman collection, and starter repo to move from sandbox evaluation into real workflow testing.

1. Verify availability

curl https://api.richbuilds.net/health

2. Add your key

export BATTERYARB_API_KEY=<your_key>

3. Run core endpoints

curl -H "X-API-Key: $BATTERYARB_API_KEY" \
"https://api.richbuilds.net/battery/edge-signal?iso=ercot&horizon_hours=24"

Core endpoint map

/health
/prices/lmp-5min
/forecast/lmp
/grid/outages
/battery/edge-signal
/battery/bid-offer-sim
/learning/outcomes
/learning/calibration

Commercial context

Technical teams usually start here after a buyer-level demo or pilot discussion. This page is built to shorten the diligence loop.

Access workflow

  • Choose sandbox, pilot, or enterprise path
  • Receive API key by email after checkout or issuance
  • Store the key in env vars or a secret manager
  • Validate against docs and quickstart examples

Authentication model

curl -H "X-API-Key: $BATTERYARB_API_KEY" \
"https://api.richbuilds.net/prices/lmp-5min?iso=ercot"

Rotation and revocation

Keys should be rotated if exposure is suspected. Pilot and production support paths can revoke and reissue keys without exposing the old secret in the browser.

Example responses

`GET /battery/edge-signal`

{
  "iso": "ercot",
  "node_or_zone": "HB_HOUSTON",
  "market_regime": "stressed_ramp",
  "edge_score": 78,
  "confidence": "medium",
  "recommended_posture": "bias_discharge_evening_peak",
  "expected_spread_usd_mwh": 19.4,
  "outage_risk_score": 0.67
}

`GET /forecast/lmp`

{
  "iso": "ercot",
  "node_or_zone": "HB_HOUSTON",
  "model_version": "batteryarb-lmp-v0.1",
  "mae_proxy_usd_mwh": 8.6,
  "points": [
    {
      "timestamp": "2026-03-12T18:00:00Z",
      "forecast_lmp_usd_mwh": 54.2,
      "p10_lmp_usd_mwh": 49.1,
      "p90_lmp_usd_mwh": 59.5
    }
  ]
}

Learning loop endpoints

POST /learning/outcomes
{
  "iso": "ercot",
  "node_or_zone": "HB_HOUSTON",
  "observations": [
    {
      "timestamp": "2026-03-12T18:05:00Z",
      "forecast_lmp_usd_mwh": 51.2,
      "actual_lmp_usd_mwh": 58.7,
      "realized_pnl_usd": 146.0,
      "baseline_pnl_usd": 108.0,
      "outage_risk_score": 0.72,
      "operator_behavior": "aggressive"
    }
  ]
}

Plans, limits, and billing

Sandbox / Evaluation: 120 req/min and email support.

Pilot / Team: 600 req/min plus implementation support.

Enterprise / Production: 2400 req/min with onboarding and enterprise review support.

Security guidance

Store `BATTERYARB_API_KEY` in environment variables or a secret manager.

Do not place raw keys in browser code, localStorage, or public notebooks.

For dashboards, route requests through your backend and keep the key server-side only.

Common error handling

401 Missing X-API-Key header\n401 Invalid API key\n404 Session not found\n429 Rate limit exceeded\n503 Upstream market data temporarily unavailable

Operational guidance

Use `/health` before heavier workflows if you need an availability check.

Review support expectations for pilot and production response paths.

Review data handling and security before embedding the API in customer-facing products.