# x402 Forge > Small, deterministic tools that AI agents pay for per call with x402 (USDC), grouped by kind of tool. Every product is a pure function built by an agent factory and checked by a test harness, a security officer that attacks it, and a judge agent before it goes live; `quality.reviewed_by` in /catalog.json says whether a human or the night shift approved it. ## How to pay Every call is paid with x402 in USDC on Base: no account, no API key, no subscription. You need a wallet with a little USDC on Base; gas is paid by the facilitator. You are only charged when a call succeeds (2xx). 1. **From an AI assistant (Claude, ChatGPT, Grok):** connect a wallet that pays x402, such as the Fizzl Agent Wallet (https://wallet.fizzl.eu: spending limits and approvals on Telegram), then ask the assistant to use a tool from https://forge.fizzl.eu/llms.txt. The wallet answers the 402 for you. 2. **From code (TypeScript):** wrap fetch once and call the URL; the 402 is paid automatically. ```ts import { x402Client } from "@x402/core/client"; import { wrapFetchWithPayment } from "@x402/fetch"; import { registerExactEvmScheme } from "@x402/evm/exact/client"; import { privateKeyToAccount } from "viem/accounts"; const client = new x402Client(); registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.BUYER_KEY) }); const pay = wrapFetchWithPayment(fetch, client); const res = await pay("https://forge.fizzl.eu/p/btw-nl?amount=100&rate=21&mode=excl"); ``` 3. **By hand:** `GET https://forge.fizzl.eu/p/{slug}?{params}` answers 402 with a PAYMENT-REQUIRED header (x402 v2, scheme "exact", network eip155:8453). Sign the EIP-3009 authorization it describes and retry with a PAYMENT-SIGNATURE header. Before paying, try any tool for free with its example: `GET https://forge.fizzl.eu/try/{slug}`. ### Proof of purchase Every paid answer carries a receipt: the `X-Forge-Receipt` header (base64url JSON: route, product, amount, asset, network, payer, pay_to, settlement tx, SHA-256 of your request and of the exact answer) and `X-Forge-Receipt-URL`, a page you can keep or print. Opening it checks the receipt against Base itself (the USDC transfer from payer to pay_to in that transaction) and against Forge's own payment terms for the route, and refuses a payer that is the receiver. `?format=json` gives the same as JSON. ## Run a tool yourself Buy any tool once ($1.00) and run it with your own wallet: `GET https://forge.fizzl.eu/forge/packages/{slug}` (x402) returns a small x402 server with the tool (`?format=zip` for a zip). Set PAY_TO to your wallet, `npm install`, `npm start`: every paid call is yours. No API key: it settles through a facilitator that needs none. Start it with PUBLIC_URL set and it registers at `POST https://forge.fizzl.eu/forge/listings`: Forge checks from outside that it is a Forge tool (the same answers), at most 1 cent a call, paid to the wallet that bought the package, then adds it to x402 Doctor's Trust Index and makes the first paid call so its facilitator lists it in the Bazaar. Status: `GET https://forge.fizzl.eu/forge/listings/{id}`. FORGE_LISTING=off keeps a copy private. ## Find tools - Catalog grouped by kind of tool: https://forge.fizzl.eu/catalog.json. Full schemas and examples for language models: https://forge.fizzl.eu/llms-full.txt. - x402 discovery document: https://forge.fizzl.eu/.well-known/x402. OpenAPI 3.1: https://forge.fizzl.eu/openapi.json. - MCP server (Streamable HTTP): https://forge.fizzl.eu/mcp with search_products, describe_product, try_product and order_product. - Invalid input returns 400/422 and is not charged. ## Sell on x402 Forge Agents can order a product of their own. `POST https://forge.fizzl.eu/forge/orders` with JSON `{ "idea", "pay_to", "kit"?, "seller_name"? }` costs $1.00 via x402. The factory briefs, builds, tests and judges the tool; a human reviews it; then it goes live here. Every paid call settles to an immutable 0xSplits contract that pays 90% to your `pay_to` and 10% to Forge; the split's address is in the catalog so you can verify it onchain. Without payment you get the 402; if your body would be refused it lists `order_problems` to fix first. A paid invalid order gets a 400 and is not charged. Track progress at `GET https://forge.fizzl.eu/forge/orders/{order_id}`. ## Payments and banking Bank accounts, payment references, payment QR codes and transfer checks. - [IBAN check (NL)](https://forge.fizzl.eu/try/iban-nl): Validate an IBAN with the mod-97 checksum and country length, and name the Dutch bank for NL IBANs. Own it exclusively for $1.00: `GET https://forge.fizzl.eu/forge/packages/iban-nl` (one buyer only). Per call on Forge: $0.002. ## Tax and VAT VAT amounts and numbers, tax rates, filing deadlines and small business schemes. - [VAT calculator (NL)](https://forge.fizzl.eu/try/btw-nl): Calculate Dutch VAT (btw) at 21%, 9% or 0% from an amount excluding or including VAT, rounded to cents. Own it exclusively for $1.00: `GET https://forge.fizzl.eu/forge/packages/btw-nl` (one buyer only). Per call on Forge: $0.001. ## Addresses and phone numbers Postcodes, addresses and phone numbers: validation and formatting. - [Postcode check (NL)](https://forge.fizzl.eu/try/postcode-nl): Normalise a Dutch postcode to '1234 AB' and check its format, including letter pairs that are never issued (SA, SD, SS). Format check only, no address lookup. Own it exclusively for $1.00: `GET https://forge.fizzl.eu/forge/packages/postcode-nl` (one buyer only). Per call on Forge: $0.001. - [Phone number (NL)](https://forge.fizzl.eu/try/telefoon-nl): Normalise a Dutch phone number to E.164 and national format, and classify it as mobile, landline, toll-free, premium, company or M2M. Own it exclusively for $1.00: `GET https://forge.fizzl.eu/forge/packages/telefoon-nl` (one buyer only). Per call on Forge: $0.001. ## Dates and business days Working days, public holidays, deadlines and date arithmetic. - [Working days (NL)](https://forge.fizzl.eu/try/werkdagen-nl): Count Dutch working days between two dates, or add N working days to a date, skipping weekends and Dutch public holidays (Koningsdag, Easter, Ascension, Whit Monday, Christmas; Liberation Day every 5 years by default). Own it exclusively for $1.00: `GET https://forge.fizzl.eu/forge/packages/werkdagen-nl` (one buyer only). Per call on Forge: $0.002.