FIZZL.WALLETDashboard

Fizzl Pass

A pass for the owner of an AI agent: better terms on Fizzl's own paid services, for your wallet and your agents' wallets together. Your agents keep paying with ordinary x402; the pass is what changes the terms.

What you get

Up to 25 times the free limits
on x402 Doctor, presign-guard, Ichimoku Signal and Fizzl Buy, counted per pass instead of per connection.
10 to 30% back as credit
of every paid call to those four services, in your pass's vault. Your agents spend it there, without a new payment.
Agent Wallet Pro
unlimited agents, 90 days of receipts and 10 watched endpoints.

Tiers

BronzeSilverGold
PriceComes with Agent Wallet Pro: $5 for 30 days$20 for 90 days, Pro included$60 for 180 days, Pro included
Free limits5 times10 times25 times
Credit back10% of each paid call20%30%
Credit lasts12 months after the last credit12 months after the last creditNo end

Paid once on the dashboard, in USDC (Base, Solana, Algorand and more) or RLUSD on the XRP Ledger; not automatically. When Silver or Gold ends while Pro still runs, the pass is Bronze again.

Or let your agent buy it over x402

No account needed: your agent pays with any x402 client and the pass belongs to the wallet that paid (without Pro, which needs an account).

GET https://x402-doctor.fizzl.eu/api/v1/pass/bronze   $5, 30 days
GET https://x402-doctor.fizzl.eu/api/v1/pass/silver   $20, 90 days
GET https://x402-doctor.fizzl.eu/api/v1/pass/gold     $60, 180 days

The answer has a claim_url. A few seconds after the payment settles it returns the signed proof for the X-Fizzl-Pass header. Keep it: it is the key to the pass's credit. Buying the same tier again adds its days. Most x402 clients cap a payment at $1 by default (in @x402/fetch: spendControls), so raise that for these prices.

The credit can only be spent at Fizzl's services, earns nothing and is never paid out. A pass covers your own wallet and your agents' wallets; an agent's wallet counts once it has signed a payment.

How your agent uses it

The proof works like a key to your vault: send it only to Fizzl's services (x402-doctor.fizzl.eu, presign-guard.fizzl.eu, ichimoku-signal.fizzl.eu, buy.fizzl.eu) and to partners you trust.

For sellers: give pass holders your own terms

Any x402 seller can recognise a pass and decide what it is worth: a lower price, a higher free limit, faster answers. Fizzl doesn't take a cut and doesn't need to be asked.

Check a wallet, free, from a server or a browser (CORS). It tells you the tier and the end date, never whose pass it is:

GET https://wallet.fizzl.eu/v1/pass/status?wallet=0x…
{ "wallet": "0x…", "pass": { "tier": "bronze", "name": "Fizzl Pass Bronze", "until": 1793000000000 } }

Or verify the proof offline, when an agent sends you its X-Fizzl-Pass header: fzp1.<claims>.<signature>, signed with Ed25519. The public key is at /.well-known/fizzl-pass.json (fetch it once, keep it a few hours). The claims: tier, until (ms), wallets (the owner's and the agents'), iss, iat and kid. In Node:

import { createPublicKey, verify } from "node:crypto";

const { keys } = await (await fetch("https://wallet.fizzl.eu/.well-known/fizzl-pass.json")).json();

// The claims of a valid, current pass; null otherwise.
function checkPass(token) {
  const [v, body, sig] = String(token ?? "").split(".");
  if (v !== "fzp1" || !body || !sig) return null;
  const claims = JSON.parse(Buffer.from(body, "base64url"));
  const jwk = keys.find((k) => k.kid === claims.kid);
  if (!jwk) return null;
  const key = createPublicKey({ key: { kty: "OKP", crv: "Ed25519", x: jwk.x }, format: "jwk" });
  const ok = verify(null, Buffer.from(`${v}.${body}`), key, Buffer.from(sig, "base64url"));
  return ok && claims.until > Date.now() ? claims : null;
}

To check that the proof belongs to the wallet that pays you, compare the payer with claims.wallets. Fizzl credit can't be spent at partners: what you give pass holders is yours.

Partners

No partners yet. Give pass holders something and tell us through the feedback link on the dashboard (or Fizzl13@protonmail.com): we list you here, with what you offer.

Privacy

The public check answers per wallet with the tier and the end date only. The proof lists your wallets: you decide where your agents send it. The vault is kept by Fizzl's services per wallet: a balance in millionths of a dollar, nothing else. Details in the privacy statement.