Metered utilities · card or x402

The utility company for the machine web.

Small, precise web APIs, metered in credits (1 credit = $0.001). Humans buy credits with a card; agents pay per request with x402 (USDC on Base).

  • Browser

    Render and capture the public web

  • Crypto

    Hashes, keys, JWT, TOTP, AEAD

  • Credits

    Prepaid bundles — card or USDC

  • System

    Keys, registration, feedback

Card checkout · from $1 · GET /v1/meta · /skill.md

one request, paid on the wire 402 → 200
$ curl -X POST https://util.beauty/v1/browser/screenshot \
-d '{"url": "https://example.com"}'
HTTP/2 402 Payment Required
{ "error": { "code": "PAYMENT_REQUIRED", "details": {
"accepts": [{ "scheme": "exact", "maxAmountRequired": "3000", … }] } } }
$ curl … -H "X-PAYMENT: <proof>"  # agent pays 3 credits ≈ $0.003
HTTP/2 200 OK
x-payment-response: { "transaction": "0x1b1c03…", "network": "base" }
{ "ok": true, "utility": "browser.screenshot", "chargedCredits": 3,
"artifact": { "url": "…/v1/artifacts/art_kx2…" } }
Payment terms are quoted in the response. Invalid requests are rejected before payment.

Rate card

Utilities, priced per call

1 credit = $0.001

Utility What it does Credits ≈ USD
browser.screenshot Full-page website screenshot as PNG, JPEG, or WebP for AI agents — render a URL or HTML and capture. 3 $0.003
browser.pdf HTML/URL to PDF rendering — print a public page or HTML string as A4/Letter PDF. 5 $0.005
browser.extract Structured page content extraction: title, text, links, metadata, plus schema-guided fields (CSS selectors or JSON-LD/meta match) from a URL or HTML. 2 $0.002
browser.snapshot Agent page snapshot: combined text, links, optional screenshot, and content hash in one call. 7 $0.007
browser.inspect Debug view: HTTP status, console logs, network requests, and redirects. 4 $0.004
browser.markdown Render a URL or HTML to clean GitHub-flavored Markdown for AI agents — default page-read format without screenshot/PDF weight. 3 $0.003
browser.a11y Accessibility tree snapshot (roles, names, structure) for agent interaction planning — lighter than a screenshot, more structured than raw text. 3 $0.003
crypto.hash Hash and checksum APIs: SHA-256, SHA-512, SHA-3, BLAKE2b/BLAKE3, MD5, CRC32. 1 $0.001
crypto.hmac HMAC sign and verify message authentication codes (SHA-256, SHA-512, BLAKE2b). 1 $0.001
crypto.random Secure random bytes, tokens, UUIDs, and passphrases. 1 $0.001
crypto.password Password hash and verify with Argon2 (argon2id/argon2i, PHC format). 5 $0.005
crypto.signature Ed25519 / ECDSA P-256 keypairs, digital signing, and signature verification. 2 $0.002
crypto.symmetric Authenticated encryption (AEAD): AES-GCM and ChaCha20-Poly1305. 2 $0.002
crypto.jwt Sign, verify, and decode JWT / JSON Web Tokens (HS256, RS256, EdDSA). 2 $0.002
crypto.totp Generate and verify TOTP 2FA two-factor codes (RFC 6238). 1 $0.001
crypto.key_derivation Key derivation with HKDF, Argon2id, or PBKDF2 from passwords or key material. 5 $0.005
net.dns DNS lookup for A, AAAA, MX, TXT, CNAME, NS, SOA, CAA, PTR records over DoH. 1 $0.001
net.rdap WHOIS/RDAP domain or IP registration data (registrar, dates, nameservers). 1 $0.001
net.email Email deliverability posture: SPF, DMARC, DKIM, MX, and MTA-STS for a domain. 2 $0.002
net.ip IP intelligence: ASN, org, reverse DNS, geolocation country, and registry. 1 $0.001
net.cidr Subnet calculator: CIDR ranges, host counts, membership tests, and IP conversions. 1 $0.001
net.certs Certificate Transparency history via crt.sh (issued certs, issuers, SANs, validity). 2 $0.002
net.fetch HTTP GET/HEAD of a public URL without a browser: status, headers, body (size-capped), redirects — for robots.txt, JSON APIs, and static files. 1 $0.001
net.url_expand Unshorten and follow redirects for a public URL: final URL, status, and hop chain (SSRF-safe) — for phishing/marketing link inspection. 1 $0.001
net.tls Live TLS reachability to a public host (DoH-pinned IP + SNI) plus Certificate Transparency cert summary (issuer, SANs, days-to-expiry). 2 $0.002
parse.pdf Extract text from a PDF (public URL, base64, or util.beauty artifact) without a browser — page count, content hash, optional per-page text. 2 $0.002
system.suggest Suggest a new utility, improvement, or docs change (agent feedback). 1 $0.001
system.register Create a prepaid account and receive one API key (shown once). 1 $0.001
system.keys List or rotate API keys for the registering wallet — x402-only auth (prepaid API keys cannot call this). 1 $0.001
credits.purchase Buy a prepaid credit bundle (starter / builder / scale / pro) with volume discounts. Card: /credits · USDC catalog: /v1/credits/bundles. SKU $1–$70

Two ways to pay

x402 for agents. Credits for teams.

x402 pay-per-request

Live · Base · self-serve

The public path. Call any paid endpoint with no credentials and the response is HTTP 402 with machine-readable terms: price, asset, recipient, expiry, and replay rules. Sign a USDC transfer authorization, retry with proof, get your result. No signup, no key, no stored balance — and no gas for the payer.

  • ·Settles real USDC on Base mainnet before your request runs
  • ·Terms are bound to the exact request — proofs can’t be replayed
  • ·Preview any price without a 402: GET /v1/x402/quote

Every settlement returns its on-chain transaction hash in the X-PAYMENT-RESPONSE header — on success and error responses alike. Start at /start.

Prepaid credits

Card · Stripe

For humans and teams. Pay with a card on /credits — Stripe Checkout, fixed bundles ($1–$70), then receive an API key once. Every call deducts its listed price from your balance.

  • ·Card checkout via Stripe (no crypto wallet required)
  • ·Authenticate with Authorization: Bearer or X-API-Key
  • ·Full ledger + Idempotency-Key — retries can’t double-charge
Buy credits with card → Or USDC: POST /v1/credits/purchase

Invoice / volume? Contact us.

For machines, on purpose

Every capability is discoverable

An agent should never need to read a marketing page — this one included. The whole surface is self-describing: capabilities, prices, payment instructions, limits, and error semantics are all machine-readable, and every error carries a stable, enumerable code.

$ curl https://util.beauty/v1/meta
{
  "service": "util.beauty",
  "payment": {
    "modes": ["prepaid", "x402"],
    "creditUsdMicros": 1000
  },
  "utilities": [
    { "name": "browser.snapshot",
      "endpoint": "…/v1/browser/snapshot",
      "credits": 7, "usdMicros": 7000 },
    …
  ],
  "limits": { "maxTimeoutMs": 30000, … },
  "openapiUrl": "https://util.beauty/openapi.json"
}

Quickstart

Two paths. First paid call.

Humans · card

Pick a bundle, pay with Stripe, copy your API key once, call any utility.

  1. Open /credits
  2. Choose starter → pro ($1–$70)
  3. Pay with card · key shown on success
Get credits →

Agents · x402

No signup. Discover → quote → pay USDC on Base in the same request lifecycle.

curl https://util.beauty/v1/meta
curl "https://util.beauty/v1/x402/quote?utility=crypto.hash"
Full agent recipe on /start →

Agents: install the skill with one curl, or paste /prompt.txt. Schemas live in the API reference.

The fine print

Honest metering. Prices are quoted up front, responses state the exact charge, and billing is per attempt: invalid requests are rejected free before payment, but executed requests are charged whether the target page cooperates or not.

Sensible limits. Renders time out at 30 seconds; request bodies up to 1 MiB; artifacts up to 25 MiB, retained for 7 days.

Public web only. Requests to private networks, loopback, and internal addresses are refused with URL_BLOCKED.

A utility, not a crawler. util.beauty renders pages you point it at. It does not evade access controls, and it identifies itself honestly.