82trust / 100
Catalog
by Klima Retirement Aggregator in Markets & finance
x402 APIPassing, checked 3 h ago
Live snapshot of the most liquid carbon credits retirable on Base: the top 3 Klima Protocol carbon classes and the top 3 Carbonmark marketplace listings, with USDC-per-tonne prices and tonnes available. Additionally, the additional endpoints to quote and retire carbon are included; query those endpoints for further discovery, quotes, and retirements. Query /.well-known, /openapi, and /discover to get started.
GET https://x402-retire-git-feat-paid-indexing-gate-and-openapi-carbonmark.vercel.app/api/catalog
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 261 ms typical, 2.7 s slowest 5%
- Last check
- 3 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://x402-retire-git-feat-paid-indexing-gate-and-openapi-carbonmark.vercel.app/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-retire-git-feat-paid-indexing-gate-and-openapi-carbonmark.vercel.app%2Fapi%2Fcatalog
const res = await pay("https://x402-retire-git-feat-paid-indexing-gate-and-openapi-carbonmark.vercel.app/api/catalog");
console.log(await res.json());Example input
{}Example output
{
"asOf": "2026-09-15T00:00:00.000Z",
"classes": [],
"endpoints": {
"actionsRetire": "https://x402.klimalabs.com/api/actions/retire",
"certificate": "https://x402.klimalabs.com/api/certificate",
"discover": "https://x402.klimalabs.com/api/discover",
"openapi": "https://x402.klimalabs.com/openapi.json",
"prepareAuth": "https://x402.klimalabs.com/api/prepare-auth",
"prepareRetire": "https://x402.klimalabs.com/api/prepare/retire",
"quote": "https://x402.klimalabs.com/api/quote"
},
"listings": [],
"note": "Prices are USDC per tonne before the on-chain protocol 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. None of those charge an API fee. GET discover returns the full catalog for free."
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 3 h ago | Passed | 402 | 6.8 s | $0.001 |
| 6 h ago | Passed | 402 | 237 ms | $0.001 |
| 10 h ago | Passed | 402 | 245 ms | $0.001 |
| 13 h ago | Passed | 402 | 2.7 s | $0.001 |
| 17 h ago | Passed | 402 | 213 ms | $0.001 |
| 21 h ago | Passed | 402 | 309 ms | $0.001 |
| 24 h ago | Passed | 402 | 247 ms | $0.001 |
| 29 h ago | Passed | 402 | 276 ms | $0.001 |
| 32 h ago | Passed | 402 | 261 ms | $0.001 |
| 35 h ago | Passed | 402 | 234 ms | $0.001 |
| 40 h ago | Passed | 402 | 313 ms | $0.001 |