Agent pricing
x402 price table
Machine copy: /api/v1/pricing (every slice) or /{slice}/api/v1/pricing. Every priced operation in the OpenAPI document carries x-price-usdc and x-price.price_micro.
How to pay
- GET the endpoint with no X-API-Key. You receive HTTP 402 with a Payment-Required header and a JSON body whose accepts[] lists the USDC amount, network (Base recommended) and payTo address.
- Sign that amount with your wallet (EIP-3009 transferWithAuthorization on Base; the x402 client libraries do this). No gas is spent by you.
- Repeat the request with the signed payload in the x-payment header. The facilitator settles on-chain and the response is the data (per request) or a key (pass).
- Running a job? Buy a 1 hour, 1 day or 7 day pass: POST /api/v1/payments/agent-subscribe with {"plan": "pass_1d"} returns an adk_live_ key valid for every data slice (energy, sensors, weather, news).
- Steady use? The same endpoints are on RealtimeAPI.ai (feeds griddata, sensordata, weatherdata, newssignals) where a free key gives 1,000 calls a month across every feed: https://agentdataapi.com/realtimeapi
Grid and energy data
| Route id | Endpoint | USDC | micro | Cadence |
|---|---|---|---|---|
| grid_regions | GET /energy/api/v1/regions | 0.005 | 5000 | Refreshes every 24 hours. |
| grid_price | GET /energy/api/v1/power/prices/{market}/{region} | 0.01 | 10000 | Refreshes every 5 minutes. |
| grid_day_ahead | GET /energy/api/v1/power/prices/{market}/{region}/day-ahead | 0.01 | 10000 | Refreshes every 30 minutes. |
| grid_price_history | GET /energy/api/v1/power/prices/{market}/{region}/history | 0.02 | 20000 | Refreshes every 5 minutes. |
| grid_load | GET /energy/api/v1/power/load/{market}/{region} | 0.01 | 10000 | Refreshes every 5 minutes. |
| grid_generation | GET /energy/api/v1/power/generation/{market}/{region} | 0.01 | 10000 | Refreshes every 5 minutes. |
| grid_cheapest_window | GET /energy/api/v1/power/windows/{market}/{region} | 0.015 | 15000 | Refreshes every 30 minutes. |
| grid_carbon | GET /energy/api/v1/carbon/{region} | 0.005 | 5000 | Refreshes every 30 minutes. |
| petroleum_weekly | GET /energy/api/v1/petroleum/weekly | 0.01 | 10000 | Refreshes every 7 days. |
Environmental sensors
| Route id | Endpoint | USDC | micro | Cadence |
|---|---|---|---|---|
| sensors_stations_near | GET /sensors/api/v1/stations/near | 0.005 | 5000 | Refreshes every 24 hours. |
| sensors_air | GET /sensors/api/v1/air/{station_id} | 0.005 | 5000 | Refreshes every 60 minutes. |
| sensors_air_near | GET /sensors/api/v1/air/near | 0.01 | 10000 | Refreshes every 60 minutes. |
| sensors_water_gauge | GET /sensors/api/v1/water/gauge/{site} | 0.005 | 5000 | Refreshes every 15 minutes. |
| sensors_water_history | GET /sensors/api/v1/water/gauge/{site}/history | 0.02 | 20000 | Refreshes every 15 minutes. |
| sensors_tides | GET /sensors/api/v1/tides/{station} | 0.005 | 5000 | Refreshes every 6 minutes. |
| sensors_tide_predictions | GET /sensors/api/v1/tides/{station}/predictions | 0.005 | 5000 | Refreshes every 24 hours. |
| sensors_quakes | GET /sensors/api/v1/quakes/recent | 0.005 | 5000 | Refreshes every 60 seconds. |
Weather alerts and forecasts
| Route id | Endpoint | USDC | micro | Cadence |
|---|---|---|---|---|
| weather_alerts | GET /weather/api/v1/alerts | 0.002 | 2000 | Refreshes every 60 seconds. |
| weather_alert | GET /weather/api/v1/alerts/{alert_id} | 0.002 | 2000 | Refreshes every 60 seconds. |
| weather_current | GET /weather/api/v1/current | 0.003 | 3000 | Refreshes every 5 minutes. |
| weather_forecast_hourly | GET /weather/api/v1/forecast/hourly | 0.005 | 5000 | Refreshes every 60 minutes or on a new model cycle. |
| weather_forecast_daily | GET /weather/api/v1/forecast/daily | 0.005 | 5000 | Refreshes every 60 minutes or on a new model cycle. |
| weather_stations_near | GET /weather/api/v1/stations/near | 0.001 | 1000 | Refreshes every 24 hours. |
News signals and trends
| Route id | Endpoint | USDC | micro | Cadence |
|---|---|---|---|---|
| news_entities | GET /news/api/v1/entities | 0.005 | 5000 | Refreshes every 24 hours. |
| news_sentiment | GET /news/api/v1/sentiment/{entity} | 0.01 | 10000 | Refreshes every 15 minutes. |
| news_ticker_score | GET /news/api/v1/tickers/{symbol}/news-score | 0.01 | 10000 | Refreshes every 15 minutes. |
| news_trending | GET /news/api/v1/entities/trending | 0.015 | 15000 | Refreshes every 15 minutes. |
| news_events | GET /news/api/v1/events | 0.01 | 10000 | Refreshes every 15 minutes. |
| news_sentiment_history | GET /news/api/v1/sentiment/{entity}/history | 0.02 | 20000 | Refreshes every 15 minutes. |
| news_trending_people | GET /news/api/v1/trending/people | 0.015 | 15000 | Refreshes every 60 minutes. |
| news_trending_topics | GET /news/api/v1/trending/topics | 0.015 | 15000 | Refreshes every 60 minutes. |
| news_top_stories | GET /news/api/v1/top-stories | 0.01 | 10000 | Refreshes every 15 minutes. |
Passes (every slice)
| Plan | USDC | Grants | Call |
|---|---|---|---|
| pass_1h | 1 | Pro for 1 h, all slices | POST /api/v1/payments/agent-subscribe {"plan": "pass_1h"} |
| pass_1d | 3 | Pro for 24 h, all slices | POST /api/v1/payments/agent-subscribe {"plan": "pass_1d"} |
| pass_7d | 8 | Pro for 168 h, all slices | POST /api/v1/payments/agent-subscribe {"plan": "pass_7d"} |
Networks: eip155:8453 (Base), eip155:1, solana:mainnet-beta. Facilitator: Coinbase CDP. Replayed transactions return 409. No subscriptions exist; for steady use the same endpoints are free through RealtimeAPI.ai up to 1,000 calls a month.