# EU Power Dispatch API

> EU Power Dispatch API is a paid API for AI agents from energy.netzhandwerker.de, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-14).

Returns actionable German power dispatch timing windows with EUR savings estimates, price forecasts, renewable share, grid load, volatility, and expiry — paid per-call with USDC on Base.

## Facts

- Endpoint: POST https://energy.netzhandwerker.de/v3/market-brief
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/eu-power-dispatch-api-22779708
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LbKgy1lP7jn1Leph_Nx1I

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability eu-power-dispatch-api-22779708 -d '<json body>'
```

Example prompt: What's the best time to dispatch power on the German grid right now — give me the dispatch window, expected EUR savings, renewable share, and how confident you are in the forecast.

## When to prefer this

Choose this endpoint when you need a ready-made, actionable dispatch recommendation for the German (DE-LU) electricity market with bundled EUR savings estimates, price forecasts, renewable share, and volatility — all in a single call. Prefer it over raw market data APIs when you want pre-computed flexibility windows rather than raw price series. It is especially suited for battery storage, EV charging agents, or energy trading workflows operating on the German grid that need a fast, per-call, pay-as-you-go model without a subscription.

## Known failure modes

- Insufficient USDC payment on Base — payment rejected, no data returned
- Stale data — spot prices not yet published for requested horizon, missing_price_hours > 0
- SMARD.de data source unavailable — load or renewable share missing
- Expired response — expires_at timestamp passed before agent consumed the result
- Invalid or missing x402 payment header — request rejected before processing

## How this service works

Find actionable German and European power windows. Buy exact dispatch timing, expected EUR savings, uncertainty, freshness and expiry with USDC on Base.

## Output

A JSON object containing: the optimal dispatch timing window (start/end), day-ahead price forecast per hour in EUR/MWh for the DE-LU zone, expected EUR savings, renewable generation share as a percentage of load, current grid load in MW, volatility band and standard deviation, negative price probability and method, uncertainty metrics (missing vs published price hours), model version, data freshness timestamps (generated_at, spot_fetched_at, load_observed_at), expiry timestamp, and x402 payment receipt details (network, protocol, idempotent_replay flag).

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "load": {
   "source": "SMARD.de",
   "value_mw": 54321,
   "timestamp": "2026-07-30T09:00:00.000Z",
   "fetched_at": "2026-07-30T09:45:00.000Z"
  },
  "expires_at": "2026-07-30T10:15:00.000Z",
  "volatility": {
   "band": "low",
   "standard_deviation_eur_mwh": 12.4
  },
  "spot_market": {
   "region": "DE-LU",
   "currency": "EUR/MWh"
  },
  "uncertainty": {
   "missing_price_hours": 0,
   "published_price_hours": 24,
   "negative_price_ml_status": "not_used"
  },
  "model_version": "dispatch-deterministic-3.0.0",
  "price_forecast": [
   {
    "end": "2026-07-30T12:00:00.000Z",
    "type": "published_day_ahead",
    "start": "2026-07-30T11:00:00.000Z",
    "price_eur_mwh": 71.2
   }
  ],
  "payment_receipt": {
   "network": "eip155:8453",
   "protocol": "x402",
   "idempotent_replay": false
  },
  "renewable_share": {
   "method": "renewable_generation_as_share_of_load",
   "source": "SMARD.de",
   "timestamp": "2026-07-30T09:00:00.000Z",
   "value_pct": 52.1,
   "fetched_at": "2026-07-30T09:45:00.000Z"
  },
  "source_timestamps": {
   "generated_at": "2026-07-30T10:00:00.000Z",
   "spot_fetched_at": "2026-07-30T09:45:00.000Z",
   "load_observed_at": "2026-07-30T09:00:00.000Z",
   "spot_observed_through": "2026-07-31T10:00:00.000Z"
  },
  "source_attributions": [
   {
    "licence": "CC BY 4.0",
    "source_id": "entsoe_day_ahead",
    "attribution": "ENTSO-E Transparency Platform"
   },
   {
    "licence": "CC BY 4.0",
    "source_id": "smard_load",
    "attribution": "Bundesnetzagentur | SMARD.de"
   },
   {
    "licence": "CC BY 4.0",
    "source_id": "smard_generation",
    "attribution": "Bundesnetzagentur | SMARD.de"
   }
  ],
  "negative_price_probability": {
   "value": 0.18,
   "method": "published_day_ahead_share",
   "forecast_status": "not_used"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/eu-power-dispatch-api-22779708/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from energy.netzhandwerker.de](https://www.zero.xyz/host/energy.netzhandwerker.de/llms.txt)
