mirrored listing x402 eip155:8453

Historical price time series for one electricity zone, oldest-first, max 31 days per call

Historical price time series for one electricity zone, oldest-first, max 31 days per call (start/end are Unix seconds; default last 24h; limit caps rows). Use for trends and backtests; use /v1/latest or /v1/brief for current values. Zone ids from /v1/zones.

Do you run api.grid-hub.app? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
10000 (raw units)
price
2
calls / 30d
2
unique payers
2026-09-14
updated

Provider

api.grid-hub.app · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x7ca97aE70E38736a94eEa00427D50846Bab978DD",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "maxTimeoutSeconds": 60
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "method": "GET",
        "pathParams": {
          "zone": "GB"
        },
        "queryParams": {
          "end": "1788000000",
          "limit": "200",
          "start": "1787400000"
        },
        "type": "http"
      },
      "output": {
        "example": {
          "attribution": "Supported by National Energy SO Open Data",
          "count": 2,
          "data": [
            {
              "ts": 1787961600,
              "unit": "GBP/MWh",
              "value": 88.76
            },
            {
              "ts": 1787963400,
              "unit": "GBP/MWh",
              "value": 91.2
            }
          ],
          "license": "NESO-Open-Licence",
          "metric": "price",
          "zone": "GB"
        },
        "type": "json"
      }
    },
    "routeTemplate": "/v1/price/:zone",
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "method": {
              "enum": [
                "GET"
              ],
              "type": "string"
            },
            "pathParams": {
              "properties": {
                "zone": {
                  "description": "Zone id from /v1/zones",
                  "enum": [
                    "US-CAISO",
                    "US-ERCOT",
                    "US-PJM",
                    "US-MISO",
                    "US-NYISO",
                    "US-ISONE",
                    "US-SPP",
                    "GB",
                    "AU-NSW",
                    "AU-QLD",
                    "AU-VIC",
                    "AU-SA",
                    "AU-TAS",
                    "DE-LU",
                    "FR",
                    "ES",
                    "IT-NO",
                    "NL",
                    "BE",
                    "PL",
                    "SE-3",
                    "NO-2",
                    "DK-1",
                    "AT",
                    "CH"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "zone"
              ],
              "type": "object"
            },
            "queryParams": {
              "properties": {
                "end": {
                  "description": "Window end, Unix seconds",
                  "type": "string"
                },
                "limit": {
                  "description": "Max rows (up to 5000)",
                  "type": "string"
                },
                "sample": {
                  "description": "Free truncated sample, no payment or credentials",
                  "enum": [
                    "true"
                  ],
                  "type": "string"
                },
                "start": {
                  "description": "Window start, Unix seconds",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "pathParams"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://api.grid-hub.app/v1/price/:zone"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://api.grid-hub.app/v1/price/:zone");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://api.grid-hub.app/v1/price/:zone")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/7433.json, and this resource appears in /discovery/resources and /discovery/search.