Vealth · API contract

The agent contract, in six stages.

Discover, price, pay, receive, verify, escalate. One input (address, kitchen, site, or bundle) becomes one verifiable JSON artifact. The live paid execution surface is x402 on Base. Aggregator-style quote/order/retire behavior is the direction, not yet a live capability.

What this is, and is not

What this is. A set of paid x402 endpoints that turn one input into one verifiable JSON artifact, plus the discovery and proof surfaces an autonomous agent needs to use them without operator intervention.

What this is not. Not a Carbonmark API. Not a Klima integration. The legacy retire path is archived and pulse-only by design (retire_tx: null); the only canonical onchain retire here is build-eco-food-retire ($0.04), verified only when both child transactions (wind + solar) land on Base with non-placeholder tx hashes.

No PMF, customer revenue, measured ecological impact, or official LBC / Michelin Guide / UN / SDG / government endorsement claimed. external_buyers_count: 0. Single source of truth: first-external-buyer-watch.json.

The six stages

Stage 1 · Discover

Map the surface from public files

An agent can map the entire surface from static, public, auditable files, before signing a single transaction.

Stage 2 · Price

Static prices, in the manifest

Prices are static per endpoint and exposed in the manifest (priceUsd) and catalog. There is no /quote endpoint. Closest pricing helpers already live: ai-retire-bundler ($0.001, kWh + CO2e per workload, the cheapest call in the catalog), regen-retirement-builder ($0.02, a min-cost fill plan that does not retire), and regen-class-momentum ($0.006).

Direction, not live: a public /quote endpoint returning a real-time price + inventory snapshot. The helpers above quote their own narrow scopes, not a unified marketplace.
Stage 3 · Pay & execute

One signed USDC authorization

POST the endpoint with an x402 authorization header. Settlement is USDC on Base to 0x538aa4800ae2bd8e90556899514376ab96113a8e.

POST https://vealth.net/.well-known/vealth/<product>
X-PAYMENT: <base64 signed USDC authorization (standard x402 exact scheme)>
Content-Type: application/json

{ ...input object per product fixture... }
Want to test wiring before signing real EIP-3009? An operator-issued X-API-KEY bypass exists for wiring tests against the real response shape. A bypass call does NOT flip external_buyers_count.
Stage 4 · Receive

Deterministic JSON, next step encoded

Every paid response carries an artifact_url (human page) and artifact_id; bundles also carry result.artifact_api so an agent can continue programmatically. What to do next is encoded in real fields, not guessed: decisionSummary.one_liner, topActions[] (with who / when / why), gaps[], and quality.approval_gates[].

The retire bundle reports per-record status (on_chain / prepared / partial / failed). Retirement is verified only when both records confirm onchain with non-placeholder Base tx hashes.
Stage 6 · Escalate

The call never authorizes irreversible action

Every paid response surfaces an explicit quality.approval_gates[] array with action, authority, and why. L0–L2 is safe, bounded, autonomous (the paid call itself). L3 is operator-paced (supplier outreach, registry submission, public claims). L4 is irreversible (capital movement, retirement broadcast off the canonical path, treasury action).

If your agent hits an L3 or L4 gate that matters for your use case, email [email protected]. Human escalation is one mailto away; the autonomous loop is not broken.

Live today, direction tomorrow

Live today

Direction, not live

Vealth · provable ecological work. Front door Finance Catalog Full menu Loop recipes Proof