Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EU CBAM & Carbon Tax Calculation Engine — TypeScript / JavaScript SDK

npm version License: MIT Stanza API

EU CBAM Scope 1/2 embedded emissions and EU ETS carbon tax liability calculator across Iron, Steel, Aluminum, Cement, Fertilizers, and Hydrogen.

Official, zero-dependency Node.js and TypeScript client for EU CBAM & Carbon Tax Calculation Engine, powered by the Stanza Micro-API Network. Delivers deterministic, sub-5ms V8 isolate execution directly to your application without 3rd-party proxies.


📦 Installation

npm install @stanzaapi/cbam-carbon
# or
pnpm add @stanzaapi/cbam-carbon
# or
yarn add @stanzaapi/cbam-carbon

🚀 Quickstart

import { CbamCarbonClient } from '@stanzaapi/cbam-carbon';

// Initialize client (API key optional for sandbox tier evaluation)
const client = new CbamCarbonClient({
  apiKey: process.env.STANZA_API_KEY,
});

async function main() {
  const result = await client.parse({
  "goods_category": "iron_and_steel",
  "production_country": "TR",
  "quantity_tonnes": 500
});

  if (result.success) {
    console.log('Verification Success:', result.data);
  } else {
    console.error('Validation Error:', result.error, result.code);
  }
}

main().catch(console.error);

📄 Example JSON Response

{
  "success": true,
  "data": {
    "goods_category": "iron_and_steel",
    "direct_emissions_tco2e": 950,
    "estimated_ets_liability_eur": 71250
  }
}

⚙️ Client Configuration Options

Option Type Default Description
apiKey string process.env.STANZA_API_KEY Your Stanza API Key. Required for high-throughput production tiers.
baseUrl string https://api.stanzaapi.com/cbam-carbon Public edge API base URL.
timeoutMs number 15000 Request timeout in milliseconds (uses native AbortSignal.timeout).

🛡️ Response Envelope & Error Handling

All responses return a typed envelope:

export interface ApiResponse<T> {
  success: boolean;
  data?: T;
  error?: string;
  code?: 'VALIDATION_ERROR' | 'UNAUTHORIZED' | 'PAYLOAD_TOO_LARGE' | 'RATE_LIMITED' | 'INTERNAL_ERROR';
}

🔗 Related Resources

📄 License

MIT © Stanza — Powered by Stanza.

Releases

Packages

Contributors

Languages