80trust / 100

Catalog

by x402 Carbon Retirement API in Onchain & crypto

x402 APIPassing, checked 8 min ago

Entry point to the x402 Carbon Retirement API on Base. Returns every endpoint you need plus a live snapshot of the top 3 carbon classes and marketplace listings by liquidity. Discover, quote and certificate are free. Retiring is paid: each retirement costs the credit price plus a fee, sent from your own wallet (prepare/retire) or relayed from a signed USDC authorization (prepare-auth + POST actions/retire). Full spec at /openapi.json.

GET https://x402.klimalabs.com/api/catalog

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
388 ms typical, 388 ms slowest 5%
Last check
8 min ago
Next check
in 21 min

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://x402.klimalabs.com/api/catalog"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fx402.klimalabs.com%2Fapi%2Fcatalog
const res = await pay("https://x402.klimalabs.com/api/catalog");
console.log(await res.json());

Example input

{}

Example output

{
  "asOf": "2026-09-15T00:00:00.000Z",
  "catalogNote": "Prices are USDC per tonne before the fee. Class prices are indicative live quotes; listing prices are the seller's firm ask. To retire: GET quote, then either GET prepare/retire and send the transactions from your own wallet, or GET prepare-auth, sign its typedData and POST actions/retire. Either way the retirement costs the credit price plus a fee. GET discover returns the full catalog for free.",
  "classes": [
    {
      "carbonClassId": "0x0008f35758a4318942ecb5d5414116ce7b1ede2d",
      "category": "Wind Energy",
      "country": "India",
      "creditCount": 6,
      "liquidityTonnes": "228436",
      "name": "Wind Energy - Small Scale",
      "priceBasis": "indicative",
      "priceUsdcPerTonne": "40352",
      "priceUsdcPerTonneFormatted": "0.040352"
    },
    {
      "carbonClassId": "0x1ff9bd464155d32fd2f9d302008d38544c0ae371",
      "category": "Solar Energy",
      "country": "India",
      "creditCount": 13,
      "liquidityTonnes": "76646",
      "name": "Solar PV - Small Scale",
      "priceBasis": "indicative",
      "priceUsdcPerTonne": "16412",
      "priceUsdcPerTonneFormatted": "0.016412"
    },
    {
      "carbonClassId": "0xf4699531e0a5f6e9351a36de3753deaad329bf45",
      "category": "City Forest Credits",
      "country": "United States",
      "creditCount": 3,
      "liquidityTonnes": "6919",
      "name": "Regen Network - City Forest Credits",
      "priceBasis": "indicative",
      "priceUsdcPerTonne": "4449127",
      "priceUsdcPerTonneFormatted": "4.449127"
    }
  ],
  "endpoints": {
    "actionsRetire": {
      "method": "POST",
      "url": "https://x402.klimalabs.com/api/actions/retire"
    },
    "certificate": {
      "method": "GET",
      "url": "https://x402.klimalabs.com/api/certificate"
    },
    "discover": {
      "method": "GET",
      "url": "https://x402.klimalabs.com/api/discover"
    },
    "manifest": {
      "method": "GET",
      "url": "https://x402.klimalabs.com/.well-known/x402.json"
    },
    "note": "Start here: every carbon retirement goes through these endpoints. discover, quote and certificate are free. Retiring is paid: each retirement costs the credit price plus a fee (and executor gas when relayed through actions/retire), sent from your own wallet via prepare/retire or authorized by signature via prepare-auth. Full request and response schemas: https://x402.klimalabs.com/openapi.json",
    "openapi": {
      "method": "GET",
      "url": "https://x402.klimalabs.com/openapi.json"
    },
    "prepareAuth": {
      "method": "GET",
      "url": "https://x402.klimalabs.com/api/prepare-auth"
    },
    "prepareRetire": {
      "method": "GET",
      "url": "https://x402.klimalabs.com/api/prepare/retire"
    },
    "quote": {
      "method": "GET",
      "url": "https://x402.klimalabs.com/api/quote"
    }
  },
  "listings": [
    {
      "category": "Renewable Energy",
      "country": "Brazil",
      "creditId": "VCS-896-2011",
 

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
8 min agoPassed402302 ms$0.001
3 h agoPassed402574 ms$0.001
9 h agoPassed402388 ms$0.001