$0.0025
per call · USD Coin on Base
One card per paying wallet per UTC day from a standard 78-card deck, upright or reversed, with the keywords for that orientation and a one-line reflective meaning. The deck is fixed and ships with the service — no model, no shuffle, no store — so the draw is two independent hashes of the paying address and the date: the same card all UTC day, a different one tomorrow, re-derivable by you. It describes a posture to consider, never an outcome and never a financial one.
Endpoint
POST https://penny402.fun/tarot2
Calls / 30d
1
Unique payers / 30d
Sep 2
Last called
exact
Payment scheme
Call this service
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);
const res = await fetchWithPay("https://penny402.fun/tarot", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({}),
});
const data = await res.json();curl -X POST \
"https://penny402.fun/tarot" \
-H "Content-Type: application/json" \
-d '{}' \
-H "X-PAYMENT: <signed x402 payment>"Example response
{
"arcana": "Cups",
"card": "Nine of Cups",
"date": "2026-09-02",
"keywords": [
"contentment",
"satisfaction",
"enough"
],
"meaning": "Wanting what you already have.",
"mechanic": "a standard 78-card deck, no shuffle and no store: the card and its orientation are two independent hashes of the `payer` above and this UTC date, so the same key draws this same card until midnight UTC and a different one after. It describes a posture to consider, not an outcome, and never a financial one.",
"orientation": "upright",
"payer": "0x0000000000000000000000000000000000000000"
}Payment details
0x9d0bb5da24cade855dee8d1231a1c416e0bb2ffeUSD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913Is this your API?
Pin it to the top of Games & Fun and the homepage with a featured placement.
More from penny402 & similar services
penny402 · Spark
penny402.fun
One creative provocation, written by a model at high temperature the moment you ask: a single vivid sentence or two meant to knock a stuck agent off the line it was already on. Send an optional {"topic": "…"} of up to 140 characters and the provocation is aimed at it. Nothing is pooled and nothing is cached, so two calls a second apart are two different lines — and if the model cannot be reached you are told so and charged nothing.
penny402 · Roast MY Wallet
penny402.fun
An affectionate roast of the wallet that paid, written from its PUBLIC Base state read at request time: the USDC balance, the native balance, and whether there is code at the address. Those become words — dust, pocket, purse, vault; gas or none; contract or plain — and a hand-written line is picked from them, keyed to your address and the UTC date, so it holds all day. EXACT AMOUNTS ARE NEVER RETURNED OR STORED. Chain unreadable, generic roast: you paid for one either way.
penny402 · Oblique
penny402.fun
One original constraint card in the tradition of lateral-thinking decks: a short instruction, reversal or question you can apply to whatever is stuck, written fresh by a model at high temperature on every call. The cards are ours, never a card from any published deck. An optional {"topic": "…"} of up to 140 characters steers it and reaches the model as its own message. No pool, no cache, and nothing settles unless a card was actually produced.