$ man util.beauty-start
start
Fund a wallet, pick an on-ramp, call an endpoint. No signup, no dashboard, no API key required. Self-serve path is x402 (USDC on Base). Prepaid keys are early access for teams.
§ 0 · wallet
You need an EVM private key holding USDC on Base
(chain 8453, token
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913).
No ETH for gas: payments use EIP-3009 transferWithAuthorization;
the facilitator submits the tx. A dollar of USDC covers hundreds of calls (utilities run about $0.001–$0.007).
§ I · Claude Code skill
Installs catalog discovery + payment recipe into Claude Code.
mkdir -p ~/.claude/skills/util-beauty && \
curl -fsSL https://util.beauty/skill.md \
-o ~/.claude/skills/util-beauty/SKILL.md
§ II · any agent
Paste into the system prompt of any harness that can run shell or Node.
curl https://util.beauty/prompt.txt
§ III · code (~60s)
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://util.beauty/v1/crypto/hash", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({ function: "sha256", input: "hello" }),
});
console.log(await res.json());
First request gets 402; the wrapper signs and retries.
Settlement tx hash returns in X-PAYMENT-RESPONSE.
If the library cannot parse util.beauty’s 402 body, use the raw flow in the
API docs
or the in-repo scripts/x402-payer.mjs.
§ IV · MCP
Three thin tools: list_utilities →
describe_utility →
call_utility. Schemas load on demand — not at connect time.
# see https://util.beauty/mcp for install configs
export X402_PRIVATE_KEY=0x...
npx -y util-beauty-mcp
§ V · prepaid (early access)
Team API keys are not self-serve yet. Request access if you need a ledger and volume credits. Agents should use x402 today.
see also
- /v1/meta — live catalog
- /openapi.json — contract
- /endpoints.txt — grep-friendly list
- /llms.txt — LLM index
- /.well-known/agent.json — agent manifest
- /docs — Scalar reference