Dashboard & API¶
The ESG reporting data is surfaced through the Gnosis Analytics dashboard and a set of REST API endpoints. This page documents the dashboard structure, all available API endpoints, authentication, and example queries.
Dashboard¶
The ESG dashboard is available at analytics.gnosischain.com under the ESG sector. It provides three tabs for exploring the network's environmental impact.
Overview Tab¶
The Overview tab presents headline metrics and trends for the Gnosis Chain network's carbon footprint.
| Widget | Description |
|---|---|
| Annual CO2 Projection | Annualized carbon emissions estimate (tonnes CO2/year) with 95% confidence interval |
| Annual Energy Projection | Annualized energy consumption (MWh/year) with uncertainty bounds |
| Carbon Intensity Map | Choropleth map showing per-country carbon intensity weighted by node distribution |
| Daily Emissions Timeseries | Line chart of daily CO2 emissions (kg/day) with confidence bands (68%, 90%, 95%) |
Breakdown Tab¶
The Breakdown tab disaggregates the network footprint by node category and shows node population trends.
| Widget | Description |
|---|---|
| Category Breakdown | Stacked bar chart showing Home / Professional / Cloud shares of emissions and energy |
| Annual Projections with Uncertainty | Per-category annualized projections with individual uncertainty bands |
| Estimated Nodes Timeseries | Line chart of total estimated nodes over time, with observed vs. hidden breakdown |
Methodology Tab¶
The Methodology tab provides an embedded summary of the ESG estimation methodology, linking to this documentation for full details.
API Endpoints¶
All ESG endpoints are served under the /v1/esg/ path prefix. The table below lists every available endpoint.
Endpoint Reference¶
| Endpoint | Method | Description |
|---|---|---|
/v1/esg/carbon_emissions/daily | GET, POST | Daily carbon emissions with uncertainty bands |
/v1/esg/carbon_emissions_annualised/latest | GET | Latest annualized CO2 projection (single row) |
/v1/esg/carbon_timeseries_bands/daily | GET, POST | Daily emissions with 68/90/95% confidence bands |
/v1/esg/energy/monthly | GET, POST | Monthly energy consumption by category |
/v1/esg/energy_consumption_annualised/latest | GET | Latest annualized energy projection (single row) |
/v1/esg/cif_network_vs_countries/daily | GET, POST | Network CI compared to individual countries |
/v1/esg/estimated_nodes/daily | GET, POST | Daily node count estimates with category breakdown |
/v1/esg/info_category/daily | GET, POST | Per-category daily breakdown (nodes, energy, CO2) |
/v1/esg/info_annual/daily | GET, POST | Rolling annual projections updated daily |
Common Parameters¶
All daily and monthly endpoints that support GET and POST accept the following query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
dt | string | -- | Filter by date (ISO 8601 format: YYYY-MM-DD). For ranges, use dt_gte and dt_lte. |
limit | integer | 100 | Maximum number of rows to return (max: 10,000) |
offset | integer | 0 | Number of rows to skip (for pagination) |
sort | string | date:desc | Sort order. Format: column:asc or column:desc |
POST Requests
POST endpoints accept the same parameters as JSON in the request body. Use POST when constructing queries with multiple filters or when parameter values are complex.
Response Format¶
All endpoints return JSON with the following structure:
{
"data": [
{
"date": "2025-12-01",
"co2_kg_day": 1173.42,
"co2_kg_day_lower_95": 479.21,
"co2_kg_day_upper_95": 1867.63,
"energy_kwh_day": 3666.31,
"nodes_estimated": 1245.0
}
],
"meta": {
"total_rows": 365,
"limit": 100,
"offset": 0,
"execution_time_ms": 42
}
}
Authentication & Rate Limits¶
API Tiers¶
| Tier | Authentication | Rate Limit | Access |
|---|---|---|---|
| Tier 0 | None (public) | 20 req/min | All ESG endpoints |
| Tier 1 | API key required | 100 req/min | All endpoints + extended history |
| Tier 2 | API key required | 500 req/min | All endpoints + raw data access |
| Tier 3 | API key required | 1,000 req/min | Enterprise / dedicated |
Tier 0 -- No Authentication Required
All ESG endpoints listed above are available at Tier 0 (public access) with no API key required. Rate limiting is applied per IP address at 20 requests per minute.
For Tier 1+ access, include your API key in the request header:
curl -H "X-API-Key: your-api-key" \
"https://analytics.gnosischain.com/api/v1/esg/carbon_emissions/daily?limit=30"
Query Examples¶
1. Daily Carbon Emissions -- Past 30 Days¶
Retrieve the most recent 30 days of daily carbon emissions with uncertainty bounds.
2. Emissions by Country¶
Show carbon emissions disaggregated by country, sorted by contribution.
3. Compare Electricity Generation Mix¶
Query the staging model to compare generation mix across countries.
SELECT
country_code,
generation_type,
share_pct
FROM stg_crawlers_data__ember_electricity_data
WHERE country_code IN ('DE', 'US', 'FR', 'NO', 'CN')
AND date = (
SELECT max(date)
FROM stg_crawlers_data__ember_electricity_data
)
ORDER BY country_code, share_pct DESC
4. Track Power Consumption Trends¶
Monitor how average power consumption per node evolves over time, broken down by category.
5. Latest Annualized Projection with Uncertainty Bounds¶
Get the most recent annualized carbon footprint and energy projection, including confidence intervals.
Related Pages¶
- Carbon Intensity Model -- How country-level carbon intensity is calculated from Ember data
- Carbon Footprint Calculation -- The emissions formula and uncertainty propagation
- ESG Data Pipeline -- Full dbt model DAG and specifications