← Marketplace

Grid-hub

Grid-hub is an x402-native service at https://api.grid-hub.app, indexed from the x402 Bazaar (Coinbase's public discovery directory). It charges callers itself in USDC on Base and is paid directly at its own wallet; Monex Protocol passes your request and payment headers through untouched. 4 endpoints listed.

Base

Offers

OfferEndpointPrice
Brief :Zone
Interpretation-ready snapshot of one electricity zone: current wholesale price and demand (plus carbon intensity for GB) each ranked against the zone's own trailing 30-day distribution, 24h trend, and a one-sentence summary. Use for 'is power cheap or expensive in {zone} right now'. Zone ids from /v1/zones.
/m/bz-api-grid-hub-app/v1/brief/:zone0.02 USDC
Latest :Zone
Most recent value of every metric one electricity zone publishes (wholesale price, demand, interchange; generation mix for GB and US-CAISO; carbon intensity for GB), each with unit and timestamp. Note European day-ahead prices can carry a timestamp up to ~36h ahead. Zone ids from /v1/zones.
/m/bz-api-grid-hub-app/v1/latest/:zone0.001 USDC
Map Snapshot
Current headline values (price, demand, and where published carbon intensity) for all 25 GridHub zones in one call. Use to compare or rank grids right now; rebuilt every 5 minutes. For one zone with context use /v1/brief/{zone}.
/m/bz-api-grid-hub-app/v1/map/snapshot0.002 USDC
Price :Zone
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.
/m/bz-api-grid-hub-app/v1/price/:zone0.01 USDC

Machine-readable: openapi.json with x-payment-info offers.

Try it live

Run the full MPP flow from your browser: catch the 402, sign the payment with your wallet, and watch it settle on-chain.

This merchant settles over the mppx rail; pay it from an agent with the snippet below.

Pay with an agent

Any MPP or x402-compatible client works. With mppx, payment is automatic:

import { Mppx, evm } from 'mppx/client'
import { privateKeyToAccount } from 'viem/accounts'

const mppx = Mppx.create({
  methods: [evm({
    account: privateKeyToAccount(process.env.KEY),
    currencies: [evm.assets.base.USDC],
  })],
})

const res = await mppx.fetch('https://api.meshgateway.co/m/bz-api-grid-hub-app/v1/brief/:zone')
// 402 challenge signed and settled automatically; response includes Payment-Receipt

Or inspect the challenge yourself:

curl -i https://api.meshgateway.co/m/bz-api-grid-hub-app/v1/brief/:zone
# HTTP/1.1 402 Payment Required
# WWW-Authenticate: Payment id="…", method="evm", intent="charge", …