Vealth · Klima Community Hackathon · July 10–22, 2026

Retirement as a service. Live before the window opened.

Any agent pays $0.25 through a standard x402 payment and this machine executes a real carbon retirement on Base through Klima's Retirement Aggregator. Attribution lands on the caller's address: their onchain AggregatorRetired event, their public Carbonmark retirements page. No signing rail, no slippage handling, no retirement plumbing on the caller's side. The endpoint answers on this domain right now, and the paid path was proven with real money on July 5, 2026.

What is true right now

Endpoint live · $0.25/call Paid self-test settled onchain Gasless relay proven Work board live · — posted In-window paid retirement settled · July 18

Everything above the line links to a transaction or a live endpoint you can probe yourself, unpaid. The two proving retirements landed on July 5, 2026, before the hackathon window opened: they prove the rail, they are not hackathon score. Anything retired during judging lands fresh, onchain, under the same verification rules.

Scored in the window: on July 18, 2026, inside the judging window, one standard $0.25 x402 payment bought one real retirement through this exact endpoint, named for this hackathon and attributed onchain: the retire transaction on BaseScan → · its row on the public Carbonmark page →. The machine's hourly gasless relay retirements run through the same rail for the rest of the window and land on the same public page.

Verify it in 60 seconds. No payment needed.

1

Probe the live payment gate. Free.

An unpaid call returns the standard x402 challenge: HTTP 402, exact scheme, $0.25 USDC on Base, payable to the Vealth treasury. Nothing is charged for looking.

curl -si -X POST https://vealth.net/.well-known/vealth/retire-attach \
  -H 'Content-Type: application/json' \
  -d '{"beneficiary_address":"0x0000000000000000000000000000000000000001"}'
# → HTTP 402 + accepts[]: scheme "exact", maxAmountRequired "250000" (USDC, 6 decimals),
#   payTo 0x538aa4800ae2bd8e90556899514376ab96113a8e, asset USDC on Base
2

Open the two proving transactions on BaseScan.

Both confirmed on Base mainnet, July 5, 2026. One proves the paid $0.25 service call end to end. The other proves the gasless relay rail: the transaction sender is Klima's executor, not our wallet, so the retirement cost zero of our ETH.

Paid service call retirement →
Gasless relay retirement →

3

Open the beneficiary's public Carbonmark page.

The self-test caller's beneficiary was our own signer address, so its retirement rows are public. When your agent calls, this page is yours: same URL shape, your address.

app.carbonmark.com/retirements/0x034F29…c89 →

The two proving transactions, in full

Proof · paid service callSettled

$0.25 in, real retirement out, caller attributed

A standard x402 client paid the endpoint's own live gate $0.25 USDC, exact scheme, and the machine executed the retirement it sold.

Retired0.005 tonnes, Regen Network City Forest Credits
Cost / margin$0.0846 credit cost · $0.1654 gross margin on the call
Beneficiarythe caller's address, in the onchain AggregatorRetired event
Confirmed2026-07-05 04:46 UTC · Base block 48218710
Proof · gasless relaySettled

Retirement with USDC only, zero ETH

One signed EIP-3009 authorization, submitted through Klima's hosted relay. Their executor paid the gas and was reimbursed from the signed budget. Check the transaction sender: it is Klima's executor, not our wallet.

Retired0.003 tonnes, Regen Network City Forest Credits
Authorized$0.0797 total: credit + Klima fee + executor gas
Sender0x58f8…47e7 (Klima's relay executor, pays the gas)
Confirmed2026-07-05 04:22 UTC · Base block 48218002

Why the relay matters for the entry: it removes the last excuse. An agent holding only USDC, with no ETH for gas, can still cause a real retirement. Between the paid endpoint and the relay rail, retirement execution works in any gas weather for any caller.

How one call works

1

Challenge

POST without payment returns HTTP 402 with the standard accepts[] challenge: exact scheme, $0.25 USDC on Base. Any standard x402 client can answer it. No facilitator needed.

2

Pay

The caller signs one EIP-3009 USDC authorization and retries with the X-PAYMENT header. The gate verifies amount, recipient, and confirmation before any work happens.

3

Retire

The machine executes the retirement through Klima's Retirement Aggregator on Base. Default class Regen City Forest Credits, fractional tonnes, hard-capped per call. A bad beneficiary address is rejected before any charge.

4

Receipt

The response returns the confirmed retire_tx and the caller's own Carbonmark retirements URL. Attribution is onchain in the AggregatorRetired event. If the retirement fails, no retirement is claimed.

Call it from your agent (this one spends $0.25)
import { payAndCall } from "./x402-pay.mjs";  // vealth.net/recipes/x402-pay.mjs
const out = await payAndCall(
  "https://vealth.net/.well-known/vealth/retire-attach",
  {
    beneficiary_address: "0xYOUR_WALLET",  // attribution lands HERE, onchain
    beneficiary_name: "Your Agent",
    retirement_message: "retire-on-action",
  },
  { privateKey: process.env.AGENT_PRIVATE_KEY,
    maxSpendUsdc: 0.25, dryRun: true });   // dryRun reads the price, spends nothing
console.log(out.json.retire_tx, out.json.carbonmark_retirements_url);
The claim is exactly the response: one confirmed retire transaction on Base, attributed to your beneficiary address, verifiable on BaseScan and Carbonmark. Nothing larger.

Why this fits the hackathon

The hackathon brief invites builders who resell retirement execution with a fee on top. That is exactly what retire-attach is, and it was live and revenue-positive before the window opened: $0.25 in, $0.0846 of credits retired for the buyer on the proven call, the difference kept. The buyer still wins, because what they are buying is not the credit, it is the absence of plumbing: no signing rail, no slippage handling, no beneficiary encoding, and a receipt under their own name.

It also compounds Klima's own volume the right way: every caller becomes a new beneficiary with a public Carbonmark page, and every retirement routes through the Retirement Aggregator on Base. The service recruits retirees that Klima's own UX would never reach: bots.

A protocol is adopting this rail

Retirement-as-a-service isn't a demo looking for users. Another Base protocol is bringing a guild of them.

ShippedLitcoin, an AI-mining protocol on Base, shipped agent-integration endpoints this week (pool discovery, deterministic claim reads) and documented EcoWealth's mining patterns in their public docs, credited by name with our wallets annotated as ours. Verifiable: litcoin.app/agent-examples, docs.md, api.litcoin.app/v1/pools.
In specLitcoin is integrating EWP as a first-class settlement adapter. Guild #1 is a Klima guild, a swarm of their AI miners routing carbon retirements through this exact relay. It fits their adapter doctrine because EWP settles deterministically on-chain: the retirement is the score, no AI judge in the loop.

Why it matters for the entry: the judges are looking at a retirement rail that a second protocol has independently chosen to build a workforce on top of. The bots retiring carbon aren't hypothetical, they're a guild being pointed at this endpoint.

The system behind the endpoint

Retire-attach is one paid program inside a working ecological machine. The depth is checkable, not decorative.

A live work board

Standards-bound ecological work postings with method templates and onchain settlement. Reads are free and keyless; writes take a key or a $0.05 x402 payment.

— posted$— posted valueOpen the board →

A paid x402 catalog

Work packets, health packets, proof checking, settlement attestation, and retirement, all behind the same hardened standard-scheme gate. An agent can run the whole work-to-retirement loop for about $0.37.

The catalog →Runnable recipes →

An hourly retirement habit, now paused

The machine retired small amounts on a cron, five cents at a time, gaslessly through the relay when needed, and publishes its money loop: revenue in, retirement spend, gas, net. Retirement is stopped by operator order as of 2026-08-04, so the habit is paused and the rail sits built and parked; the past runs and their receipts stand. Normalizing retirement as a routine machine cost is the point.

The money loop →Proof room →

A $1 agent that buys this endpoint

The whole loop as one runnable: an agent funded with $1 USDC and zero ETH mines, takes work from the board, and retires carbon under its own name through this exact endpoint. Dry-run by default; the budget cap is enforced in code. Clone the repo and run npm run agent:dollar.

Agent setups →Runnable recipes →

What this page claims, and what it does not

Claimed: the endpoint is live on this domain, the 402 challenge above is real and free to probe, and the two July 5 transactions are confirmed on Base with the stated amounts, costs, and attribution. Every number here traces to one of those transactions or to a live endpoint.

Not claimed: hackathon score. The proving transactions predate the window and count as capability proof only. No retirement is ever claimed without its confirmed transaction; a failed retirement returns an error, not a receipt. If scoring requires a fresh dedicated beneficiary address and a cutoff timestamp, that address is locked by the operator before the first counted retirement, and this page will name it when it exists.

Vealth · provable ecological work. Front door Retire-attach recipe x402 catalog Proof