Methodology
How GreenGate calculates AI emissions
Every number on your GreenGate dashboard is built from published model coefficients, measured request latency, and grid carbon intensity. This page documents the inputs, formulas, and assumptions, so your sustainability team and auditors can verify the figures.
How the GreenGate API works
GreenGate is a thin tracking layer. Your application calls OpenAI, Anthropic, Google, Mistral, or any other LLM provider directly — nothing is proxied through us, so your prompts, completions, latency, and provider relationship are untouched. After each call, you send the model name and the token counts the provider returned to a single GreenGate endpoint, which logs the request and returns the computed energy and CO2.
The endpoint
POST https://api.ggate.app/v1/track
Authorization: Bearer sk_org_...
Content-Type: application/json
{
"model": "claude-sonnet-4-6",
"input_tokens": 1234,
"output_tokens": 567,
"team_id": "engineering"
}
The response is the calculated impact for that single request:
{
"energy_wh": 0.142318,
"co2_grams": 0.039849
}
Fields
model— the provider's model identifier (e.g.claude-sonnet-4-6,gpt-4o,gemini-2.5-pro,mistral-large). Any model with EcoLogits coefficients is supported.input_tokensandoutput_tokens— token counts the provider returned in its usage object. Positive integers.team_id(optional) — a free-form string identifying which internal team, project, or product the request belongs to. Used to build the per-team breakdowns in the dashboard and CSRD report. If you omit it, the request lands in an "unassigned" bucket.
What we do NOT receive or store
- Prompt content
- Completion content
- User identifiers, IP addresses, or API keys for upstream providers
- Anything else from the request body
This means GreenGate cannot leak prompts (we never see them) and cannot be a single point of failure for your AI traffic (we are not in the request path). You can lose connectivity to GreenGate for a day and your product keeps working — you just lose tracking for that period.
Model coverage
EcoLogits currently has coefficients for over 400 models across Anthropic, OpenAI, Google, Mistral, Cohere, and the Hugging Face Hub (including Meta Llama, Microsoft Phi, and most major open-weight releases). You can pass any of these model identifiers to /v1/track. When a model is not in the EcoLogits catalogue, GreenGate falls back to per-token coefficients (see below) and flags the request as Estimated in your dashboard.
About the homepage chat demo
The public chat shown on the GreenGate homepage uses a small fixed set of model aliases (sonnet, haiku, opus, gpt4o, gpt4omini, gpt41, o3mini, gemini, gemini25flash, gemini25pro). Those aliases exist only to power the demo — your production API calls can use any model EcoLogits supports.
Primary method — EcoLogits
For supported models, GreenGate delegates the energy and global-warming-potential calculation to EcoLogits, an open-source library maintained by the CodeCarbon non-profit (originally developed by mlco2). The methodology follows ISO 14040 / 14044 Life Cycle Assessment principles and is published in the Journal of Open Source Software (DOI: 10.21105/joss.07471).
EcoLogits estimates both usage impacts (energy and emissions during inference) and embodied impacts (hardware manufacturing and transport, amortised over a 3-year server lifetime). The result GreenGate reports is the sum of the two.
EcoLogits inputs we pass per request
- Provider and model name — used to look up architecture data (total parameters, active parameters for mixture-of-experts models)
- Output token count (
#T_out) - Request latency (
ΔT_request) — wall-clock response time, with a 1 ms floor to avoid divide-by-zero artefacts
EcoLogits hardware and infrastructure assumptions
- GPU: NVIDIA H100 80GB HBM3
- Server reference: AWS
p5.48xlargewith 8 H100 GPUs - Quantization: 16 bits
- Batch size: 64 (fixed model assumption)
- Server lifetime: 3 years
- PUE (power usage effectiveness): provider-specific. Anthropic on AWS/Google (USA) 1.09–1.14; OpenAI on Microsoft (USA) 1.20; Mistral on Microsoft (Sweden) 1.16
EcoLogits grid carbon intensity
EcoLogits applies per-region grid intensity data when the provider's datacenter location is known, drawing on Our World in Data, the ADEME Base Empreinte® database, and World Resources Institute methodology. CO2-equivalent emissions returned by EcoLogits already incorporate this regional factor — GreenGate does not apply an additional grid multiplier when EcoLogits is used.
Why EcoLogits
It is one of the few open methodologies that ties LLM emissions to physical inference characteristics — active parameters, output token count, observed latency, batched GPU energy curves, and per-region grid intensity — rather than averaged datacenter totals. The methodology is documented, peer-reviewed, and released under CC BY-SA 4.0.
Provider coverage (via EcoLogits)
| Provider | Models supported |
|---|---|
| OpenAI (incl. Azure OpenAI) | ~95 |
| Anthropic | ~6 |
| Mistral AI | ~11 |
| Cohere | ~13 |
| Google Gemini | via Hugging Face |
| Hugging Face Hub (Meta Llama, Microsoft Phi, etc.) | ~276 |
| Total | ~400 |
Fallback method — published per-token rates
When a model isn't in the EcoLogits mapping (newer releases, fine-tunes, custom deployments), GreenGate falls back to a per-token energy rate derived from publicly disclosed datacenter efficiency data and published research. The rate separates input from output tokens because output tokens require autoregressive generation and use roughly 4× the energy of input tokens at equivalent counts.
energy_wh = (input_tokens × rate_input) + (output_tokens × rate_output)
Fallback rates (Wh per token)
| Model family | Input | Output |
|---|---|---|
| Claude Sonnet class | 0.000825 | 0.003300 |
| Claude Haiku class | 0.000175 | 0.000700 |
| GPT-4o class | 0.001050 | 0.004200 |
| Gemini class | 0.000525 | 0.002100 |
| Default (unmapped) | 0.000700 | 0.002800 |
From energy to CO2 (fallback only)
For the fallback per-token path (when EcoLogits has no mapping for a model), GreenGate converts energy to CO2-equivalent grams using a fixed grid intensity factor.
co2_grams = energy_wh × 0.28
The factor 0.28 gCO₂e/Wh reflects the average carbon intensity of the EU electricity grid in 2023–2024 as reported by the European Environment Agency. For organisations reporting against a different grid, the factor can be configured per workspace on request.
Note: this fallback factor is not applied to EcoLogits-routed models, where the per-region factor is already embedded in the returned global-warming-potential value.
Confidence and limitations
We label every figure with one of three confidence categories so your auditors can see at a glance how each number was produced.
| Label | Meaning |
|---|---|
| Modelled | Calculated via EcoLogits using provider-published architecture data and measured latency. Highest confidence. |
| Estimated | Calculated via fallback per-token rates. Reasonable accuracy at organisation level, less reliable for individual requests. |
| Approximate | Model is unmapped — the default rate was applied. Suitable as a placeholder until the model is added to the mapping. |
Known limitations (inherited from EcoLogits)
- Training is not included. Only inference (API call) impacts are measured.
- Hardware assumed to be NVIDIA H100. Providers running on TPUs, custom silicon (e.g. AWS Trainium, Google Axion), or earlier-generation GPUs are still modelled against H100 — actual energy may differ.
- Text-to-text only. Embeddings, image generation, audio, and multi-modal requests are not currently modelled by EcoLogits.
- Datacenter-specific power generation is not modelled. If a provider operates on-site solar, hydro, or other private generation, that is not reflected.
- Networking, storage, and end-user device emissions are excluded.
- Latency-based methods are sensitive to network conditions. We use a 1 ms floor to avoid divide-by-zero artefacts.
CSRD reporting — what companies have to do
The EU Corporate Sustainability Reporting Directive (CSRD) requires in-scope companies to publish an annual sustainability statement that follows the European Sustainability Reporting Standards (ESRS). The climate standard, ESRS E1, requires disclosure of greenhouse-gas emissions split into the three scopes defined by the GHG Protocol.
The three emission scopes
| Scope | What it covers | Examples |
|---|---|---|
| Scope 1 | Direct emissions from sources the company owns or controls. | Company vehicles, on-site boilers, refrigerant leaks, manufacturing furnaces. |
| Scope 2 | Indirect emissions from purchased electricity, steam, heat, or cooling. | Office electricity, datacentre power for on-prem servers. |
| Scope 3 | All other indirect emissions — upstream and downstream — that the company causes but doesn't directly control. Split into 15 categories. | Purchased SaaS, cloud computing, employee commuting, business travel, supply chain, product end-of-life. |
Scope 3 is where AI usage lives. Specifically, Category 1 — Purchased goods and services — covers upstream emissions from anything the company buys, including cloud computing and inference APIs. Every call your application makes to OpenAI, Anthropic, Google, or any other AI provider is a Scope 3 Category 1 emission. For most software companies it is also one of the fastest-growing categories on the balance sheet, and one of the easiest to overlook because the bills come from a vendor instead of a utility.
Why Scope 3 matters most
For software-heavy businesses, Scope 3 typically represents 70–90% of total emissions. ESRS E1-6 makes Scope 3 disclosure mandatory if material — and AI compute is rapidly becoming material for any company that has shipped AI features in the last two years. Auditors will ask how you measured it.
Who has to report, and when
CSRD is being rolled out in four waves, each defined by company size and listing status. After the EU's Omnibus simplification package (proposed February 2025) and the "stop-the-clock" Directive (adopted April 2025), Waves 2 and 3 were postponed by two years. The thresholds for Wave 2 are also expected to rise from 250 to 1,000 employees, though that change is still moving through the EU legislative process. The current schedule:
| Wave | Who | First financial year reported | First report published |
|---|---|---|---|
| Wave 1 | Large public-interest entities already under NFRD: listed companies with >500 employees, banks, insurance. | 2024 | 2025 |
| Wave 2 | Other large EU companies (current proposal: >1,000 employees, or meeting 2 of: >€50M turnover, >€25M balance sheet). | 2027 (was 2025) | 2028 |
| Wave 3 | Listed small and medium-sized enterprises (SMEs). | 2028 (was 2026) | 2029 |
| Wave 4 | Non-EU parent companies with significant EU operations (>€150M EU turnover and an EU subsidiary or branch). | 2028 | 2029 |
Dates reflect the situation as of 2026. The Omnibus package is still subject to final co-legislator agreement; check the European Commission's CSRD page for the authoritative current status.
What an ESRS E1 disclosure has to contain
- Total gross GHG emissions in tonnes of CO2-equivalent, split by Scope 1, Scope 2 (location-based and market-based), and Scope 3.
- Scope 3 broken down by relevant categories (1–15) where material. Purchased cloud and AI services live in Category 1.
- Methodology used, including emission factors, data sources, and any estimation approaches.
- Energy consumption in MWh, split by renewable and non-renewable sources.
- Period of measurement and prior-period comparison.
- Limited assurance by an independent auditor — this means the methodology and numbers must be verifiable.
Why companies use GreenGate
- Auditable methodology. The numbers in your CSRD report are tied to a published, peer-reviewed methodology (EcoLogits, JOSS DOI 10.21105/joss.07471) rather than internal estimates. Limited-assurance auditors can verify the calculation chain.
- Activity-based rather than spend-based. Many companies fall back to spend-based Scope 3 estimation (multiplying EUR spent by an industry-average emission factor), which is allowed but flagged as low-quality. GreenGate gives you activity-based numbers (per-request energy and CO2), which ESRS E1 and the GHG Protocol both prefer.
- Per-team materiality. The dashboard breaks emissions down by team so you can answer the materiality question CSRD requires: is AI usage a significant emission source for the business, and if so, where?
- One-click CSRD-formatted PDF. The "Download CSRD Report" button in the dashboard generates a document structured against ESRS E1 disclosure requirements: total MWh, total tCO2e, period of measurement, methodology notes, models used, and a per-team breakdown — ready to append to your sustainability statement.
- EU-hosted, prompt-free. The tracking endpoint runs on EU infrastructure and only receives token counts and model names. There is nothing to redact, and no prompt-leakage risk to disclose.
Attribution and licensing
GreenGate's emission calculations rely on the open-source EcoLogits project, maintained by the CodeCarbon non-profit. We are grateful to the EcoLogits authors and contributors for making this methodology open and verifiable.
How to cite
If you reference these figures in academic, regulatory, or auditor-facing work, please cite the underlying EcoLogits methodology:
Rincé, S. & Banse, A. (2025). EcoLogits: Evaluating the Environmental Impacts of Generative AI. Journal of Open Source Software, 10(111), 7471. https://doi.org/10.21105/joss.07471
BibTeX
@article{ecologits,
doi = {10.21105/joss.07471},
url = {https://doi.org/10.21105/joss.07471},
year = {2025},
publisher = {The Open Journal},
volume = {10},
number = {111},
pages = {7471},
author = {Rincé, Samuel and Banse, Adrien},
title = {EcoLogits: Evaluating the Environmental Impacts of Generative AI},
journal = {Journal of Open Source Software}
}
Component licenses
| Component | License |
|---|---|
| EcoLogits Python library | Mozilla Public License 2.0 (MPL-2.0) |
| EcoLogits methodology and documentation | CC BY-SA 4.0 |
| EcoLogits release archive | Zenodo DOI 10.5281/zenodo.15601289 |
Licensing of this page
The sections of this page that describe or summarize the EcoLogits methodology — specifically the explanation of EcoLogits' inputs, hardware assumptions, PUE values, grid-intensity sources, scope of coverage, and stated limitations — are derivative of the EcoLogits methodology documentation. To comply with the original CC BY-SA 4.0 license, those derivative portions of this page are made available under the same CC BY-SA 4.0 terms, with attribution to Rincé & Banse (2025).
The rest of this page — the GreenGate API contract, fallback coefficient choices, CSRD interpretation and obligations, and any opinions or recommendations — is © 2026 GreenGate. The GreenGate software product is proprietary.
References
- EcoLogits — Methodology documentation (CodeCarbon non-profit)
- EcoLogits — LLM Inference methodology (technical detail)
- EcoLogits — Source code repository (GitHub, MPL-2.0)
- ML.ENERGY Leaderboard — GPU inference energy benchmarks (vLLM on H100)
- Boavizta — BoaviztAPI bottom-up LCA tool for IT equipment
- ADEME Base Empreinte® — French environmental impact database
- Our World in Data — Carbon intensity of electricity by country
- European Environment Agency — Greenhouse gas emission intensity of EU electricity production
- ISO 14040:2006 and ISO 14044:2006 — Life cycle assessment principles and requirements
- EFRAG — European Sustainability Reporting Standards (ESRS E1)
- GHG Protocol — Scope 3 calculation guidance, Category 1
Methodology last reviewed: 2026. Coefficients are reviewed quarterly and updated when providers publish new architecture data or when EcoLogits ships a new release.