Documentation

Clink Forge sells machine-purchasable government and civic data over the x402 payment protocol: no account, no API key, no subscription. An agent asks, gets a price, pays a fraction of a cent in USDC on Base, and receives data with a cryptographic provenance chain and a verifiable Ed25519 attestation. Two ways in: MCP for agents, plain HTTP for everything else.

01Connect over MCP

MCP endpoint · streamable HTTP, stateless https://api.clinkforge.com/mcp

Every data product is an MCP tool. Listed in the official MCP Registry as com.clinkforge/clink-forge; in Claude, add it as a custom connector with the URL above.

Calling a tool is free until you pay — the pricing is built into the flow:

  1. Call any tool without the optional payment argument: you get the exact x402 payment requirements back as the tool result. That is a free price quote — you are never charged for asking.
  2. Sign an x402 payment for those requirements with your wallet (any x402 client library builds this — an EIP-3009 transferWithAuthorization for USDC on Base).
  3. Call the tool again with the encoded payment header value as the payment argument. Settlement happens on-chain; the result is the data, its provenance chain, a payment receipt with the transaction hash, and the attestation.

Free MCP methods (initialize, tools/list, ping) never require payment. Tool schemas are also published at /v1/meta/mcp/tools.

02Pay per call over HTTP

Every product lives at GET /v1/p/<slug>. An unpaid request returns 402 Payment Required with the terms in both protocol generations: the x402 v1 JSON body and the canonical v2 PAYMENT-REQUIRED header.

# 1 — ask the price (free)
curl -i "https://api.clinkforge.com/v1/p/kev-status-by-cve?id=CVE-2021-44228"
# → 402 with accepts[]: scheme "exact", USDC on Base, amount, payTo

# 2 — sign those requirements with an x402 client, then retry
curl -H "X-PAYMENT: <signed>" \
  "https://api.clinkforge.com/v1/p/kev-status-by-cve?id=CVE-2021-44228"
# → 200 with the data; X-PAYMENT-RESPONSE carries the settlement

Skip the plumbing — official clients, ~15 lines

The official x402 client libraries handle the 402 handshake, EIP-3009 signing, and retry automatically. Both examples below are tested against this production API and live in the quickstart repo — you need only a wallet key with a little USDC on Base.

# Python — pip install "x402[httpx,evm]"
signer = EthAccountSigner(Account.from_key(os.environ["WALLET_PRIVATE_KEY"]))
client = x402Client()
client.register("eip155:*", ExactEvmScheme(signer=signer))
async with x402HttpxClient(client) as http:
    r = await http.get("https://api.clinkforge.com/v1/p/kev-status-by-cve",
                       params={"id": "CVE-2021-44228"})
// JavaScript — npm install x402-fetch viem
const account = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY);
const wallet = createWalletClient({ account, chain: base, transport: http() });
const fetchWithPay = wrapFetchWithPayment(fetch, wallet);
const r = await fetchWithPay(
  "https://api.clinkforge.com/v1/p/kev-status-by-cve?id=CVE-2021-44228");

The paid response envelope:

{
  "product": "kev-status-by-cve",  "product_version": 1,
  "row_count": 1,
  "data": [{ "...": "...", "_record_id": "CVE-2021-44228" }],
  "provenance": [{ "authority": "CISA", "source_url": "...",
                   "observed_at": "...", "hash": "sha256..." }],
  "attestation": { "signing_key_id": "...", "signature": "base64...", "...": "..." },
  "payment_receipt": { "settlement_ref": "0x...", "amount_usd": 0.01 }
}

Fair-failure rules, enforced in code: a wrong parameter returns 422 before any money moves; if fulfillment fails after you paid, you receive a long-lived replay voucher instead of losing the payment; a transient failure retries free with the short-lived x-paid-token. An unhealthy product refuses to sell — 503, never a payment challenge.

03Verify what you bought

Every paid response is signed. Verification is free and needs no account:

04Catalog & discovery

SurfaceWhat it is
/llms.txt The whole catalog in plain text — products, parameters, prices.
/v1/meta/products Catalog as JSON with live health per product.
/v1/meta/openapi.json OpenAPI description of every endpoint and schema.
/.well-known/x402.json x402 discovery manifest (v2 payment requirements per service).

Prices are per call, typically $0.001–$0.05. Sources are official government and public-data feeds (CISA, FDA, FDIC, Treasury, NWS, Census, BEA, EIA, HUD, NOAA, Companies House and more), ingested on fixed cadences with append-only bitemporal storage — as_of reads and reproducible replays included.

05Support

Questions, keys, or a dataset you wish we sold: admin@clinkforge.com. Service status is visible live on every discovery surface; unhealthy products always fail closed.