The gap
llms.txt, registry.json, and agent.json have been on the site for a while. Crawlers read them fine. But if you're a developer who lands on agentutility.ai, or a coding agent someone just pointed at it, none of those files tell you what to actually type. Every doc stopped at "sign a transferWithAuthorization and retry the request." Sign it with what? Retry it how? That's not a quickstart, that's a description of a protocol.
So today the site ships three pages built to close that gap, plus a real client-code example on the docs page and a GET STARTED section on the homepage.
/start
The only prerequisite is an EVM key holding USDC on Base. No ETH for gas: EIP-3009 signatures are gasless for the buyer. No RPC key either. From there:
npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme, toClientEvmSigner } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";
import { createPublicClient, http } from "viem";
import { base } from "viem/chains";
const account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);
const signer = toClientEvmSigner(
account,
createPublicClient({ chain: base, transport: http("https://mainnet.base.org") }),
);
const client = new x402Client().register("eip155:8453", new ExactEvmScheme(signer));
const paidFetch = wrapFetchWithPayment(fetch, client);
const res = await paidFetch("https://x402.agentutility.ai/cve", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ cve_id: "CVE-2021-44228" }),
});
console.log(await res.json());
wrapFetchWithPayment does the whole dance. First call hits a 402, it reads the payment requirements, signs, and retries. One wrapper, no manual header wrangling. That call is cve from the prooflayer cluster, $0.005, and it comes back with the full record for Log4Shell.
/skill.md
An installable Claude Code skill. One line gets it onto your machine:
mkdir -p ~/.claude/skills/agentutility && curl -fsSL https://agentutility.ai/skill.md -o ~/.claude/skills/agentutility/SKILL.md
It teaches Claude the catalog end to end: how to discover endpoints through catalog.txt and registry.json, how to check a price before spending anything, the sign-and-retry payment pattern, and the error taxonomy that trips people up. A bare 402 with an empty {} body is normal, not a bug. The actual payment requirements live base64-encoded in the payment-required header, not the body.
/prompt.txt
Same instructions as /skill.md, same wording, just plain text. Drop it into any agent runtime that isn't Claude Code and it reads the same.
Everywhere else
The homepage now has a GET STARTED section that links straight to /start. The docs page finally shows working client code instead of stopping at the theory of signing a transfer authorization.
None of this changes what's in the catalog: 680 endpoints, priced from $0.001 to $5. It changes how long it takes someone to reach the first one.