This is an earlier note (July 2026). A newer Klima integrator note is live, as of 2026-08-18. Read the current one at vealth.net/klima →
Agent Kit · Concept drafts · Unlisted

The standards layer, drafted: built to sit on top of what already works

Four small files. None of them change how a retirement executes, they only make the existing, working x402.klimalabs.com/api endpoint (finding 4) and the marketing domains (finding 2) discoverable the way a generic agent, not just one that read your GitHub repo, would look for them.

Read this first. Every file below is a Concept draft, none of these paths currently resolve to this content on any Klima or Carbonmark host (see the capability brief for the exact 404/soft-200 evidence). They are shaped to match Klima's own documented API (discover/quote/prepare/retire/certificate, GitHub skill klima-retire.md v0.2.0), not invented capabilities.

1 · Standard x402 discovery manifest

x402.klimalabs.com/.well-known/x402 Concept

The one file that would let a generic x402-aware client (Coinbase's own reference client, EcoWealth's, or anyone else's) find the retire endpoint without reading Klima's blog first. Fee mechanics stay exactly as they are today, the manifest documents the free reads and the one action that moves value.

{
  "x402Version": 1,
  "provider": "Klima Protocol",
  "description": "Discover carbon liquidity, quote live prices, and retire tokenized credits on Base, gasless relay available.",
  "resources": [
    { "resource": "/api/discover", "method": "GET", "accepts": [], "description": "List carbon classes + live USDC/tonne reference prices." },
    { "resource": "/api/quote", "method": "GET", "accepts": [], "description": "Price a specific retirement amount." },
    { "resource": "/api/prepare-auth", "method": "GET", "accepts": [], "description": "Build the EIP-712 typed data for a gasless relay authorization." },
    { "resource": "/api/actions/retire", "method": "POST",
      "accepts": [
        { "scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xda0a793d7c32ab80bcdab7f8c725c96db22464f4",
          "description": "Signed EIP-712 authorization submitted; executor broadcasts and reimburses gas from the signed budget." }
      ] },
    { "resource": "/api/certificate", "method": "GET", "accepts": [], "description": "Resolve the public Carbonmark certificate URL for a completed retirement." }
  ]
}

2 · A2A agent card

x402.klimalabs.com/.well-known/agent-card.json Concept

Standard Agent2Agent card, protocolVersion 0.3, the same shape docs.base.org and docs.cdp.coinbase.com already ship, describing the retirement flow as a callable skill.

{
  "protocolVersion": "0.3",
  "name": "Klima Carbon Retirement",
  "description": "Retire tokenized voluntary carbon credits on Base, with a public Carbonmark certificate.",
  "url": "https://x402.klimalabs.com/api",
  "provider": { "organization": "Klima Protocol" },
  "capabilities": { "streaming": false, "pushNotifications": false },
  "skills": [
    {
      "id": "retire-carbon",
      "name": "Retire Carbon Credit",
      "description": "Discover live carbon classes, quote a retirement amount, and execute it gaslessly on Base via a signed EIP-712 authorization. Returns a public Carbonmark certificate.",
      "tags": ["carbon", "climate", "retirement", "base", "gasless"],
      "examples": ["Retire 0.001 tonnes of Regen Network forest credits and give me the certificate."]
    }
  ]
}

3 · MCP tool schemas

tools.json: for any MCP-capable agent host Concept

Same four-step flow, expressed as MCP tool definitions instead of a chat-only GET-paste skill, usable by any MCP host, not only the Base-MCP + Claude Code combination the current GitHub plugin targets.

{
  "tools": [
    { "name": "klima_discover_carbon_classes",
      "description": "List live carbon classes and USDC/tonne prices, optionally filtered.",
      "inputSchema": { "type": "object", "properties": {
        "maxUsdcPricePerTonne": { "type": "number" },
        "carbonClass": { "type": "string" } } } },
    { "name": "klima_quote_retirement",
      "description": "Price a specific retirement amount in USDC.",
      "inputSchema": { "type": "object", "required": ["carbonClass", "amountTonnes"],
        "properties": { "carbonClass": { "type": "string" }, "amountTonnes": { "type": "number" } } } },
    { "name": "klima_prepare_relay_auth",
      "description": "Build the EIP-712 typed-data payload for a gasless retirement, capped by the caller's max USD budget.",
      "inputSchema": { "type": "object", "required": ["carbonClass", "amountTonnes", "fromAddress", "maxAuthUsd"],
        "properties": { "carbonClass": { "type": "string" }, "amountTonnes": { "type": "number" },
          "fromAddress": { "type": "string" }, "maxAuthUsd": { "type": "number" } } } },
    { "name": "klima_submit_signed_retirement",
      "description": "Submit a signed EIP-712 authorization; executor broadcasts on Base and returns the tx hash + certificate URL.",
      "inputSchema": { "type": "object", "required": ["signedAuthPayload"],
        "properties": { "signedAuthPayload": { "type": "object" } } } },
    { "name": "klima_get_certificate",
      "description": "Resolve the public Carbonmark certificate for a completed retirement transaction.",
      "inputSchema": { "type": "object", "required": ["txHash"], "properties": { "txHash": { "type": "string" } } } }
  ]
}

4 · Concierge persona

for a chat-surface agent fronting the retirement flow Concept

Klima Retirement Concierge

Role. Explains what a carbon credit retirement means in plain language, checks the caller has funds on Base (USDC or kVCM + a little ETH, or nothing at all on the gasless relay path), and walks discover → quote → prepare → sign → certificate, pausing for explicit confirmation before the one step that moves value.

Guardrails. Never fabricates a wallet address, always reads it from the connected signer. States the exact USDC cost before asking for a signature. Never signs above the caller's stated budget. Always surfaces the Carbonmark certificate URL as proof, not just a transaction hash.

Sample turn. "I found City Forest Credits at $6.40/tonne on Base, retiring 0.001 tonnes costs about $0.006 plus a small protocol fee, no gas needed on the relay path. Want me to prepare it? I'll show you the exact number before anything is signed."

Nothing here replaces Klima's own documentation, the GitHub skill and the blog post are genuinely good. These four files are the missing "front door" version of the same content: the shape a generic agent looks for first, pointing at exactly what already works. EcoWealth runs its own equivalent klima-retire skill internally, proof the pattern runs both directions.
← Back to the hub
Provisioned by EcoWealth · Digital Provisioning Protocol · provenance‑sealed