Opportunity preflight
GET /v3/opportunities
Actionability and expected savings band without payment. Exact execution timing stays protected.
Give the API a workload duration, deadline and energy need. It finds an actionable window for compute, DePIN, batteries or power trading. Paid results include exact timing, expected EUR savings, uncertainty, source timestamps and expiry.
GET /v3/opportunities
Actionability and expected savings band without payment. Exact execution timing stays protected.
POST /v3/dispatch-plan
Exact start and end, cost, savings, uncertainty, source timestamps, decision trace and expiry.
POST /v3/market-brief
Price forecast, volatility, load, renewable share and experimental negative-price probability.
The deterministic optimizer ranks feasible power windows before any experimental forecast signal is considered.
Shift batch inference, training, rendering, transcoding, backfills and maintenance before a deadline. Uptime-critical services remain excluded.
Benchmark a constrained schedule against immediate operation and a simple baseline before connecting it to asset control.
Buy a timestamped market brief with uncertainty and expiry as an additional signal, not as autonomous trade execution.
The contract is designed for agents searching for these concrete outcomes:
Model evidence is published with precision, recall, calibration, baseline comparison, economic savings, data period, sample size and model version. Inspect the evidence and definitions.
{
"schedule_start": "2026-07-31T01:00:00Z",
"schedule_end": "2026-07-31T03:00:00Z",
"action": "schedule",
"expected_cost_eur": 4.12,
"expected_savings_eur": 1.38,
"baseline_cost_eur": 5.50,
"confidence": 0.74,
"uncertainty": { "savings_eur": [0.80, 1.90] },
"model_version": "dispatch-deterministic-3.0.0",
"expires_at": "2026-07-30T10:15:00Z",
"risk_flags": [],
"payment_receipt": { "protocol": "x402", "replayed": false }
}
Request an opportunity. Invalid constraints stop before payment; actionable responses include an expiring opportunity ID.
POST the opportunity ID to a paid V3 route, sign the HTTP 402 requirement on Base and retry with PAYMENT-SIGNATURE.
Read the exact schedule or market brief. Replays for the same buyer and opportunity return the stored result without a second payment.
curl -G https://energy.netzhandwerker.de/v3/opportunities --data-urlencode "region=DE-LU" --data-urlencode "use_case=compute" --data-urlencode "duration_minutes=120" --data-urlencode "deadline=2026-08-01T14:00:00.000Z" --data-urlencode "power_kw=25"
Canonical payment: USDC on Base Mainnet, chain 8453. Recipient: 0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E.