{"uid":"cap_5sB2i2NCDLraps48O0YNZ","slug":"penny402-wallet-roast-623bd692","name":"penny402 Wallet Roast","description":"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.","url":"https://penny402.fun/roast-my-wallet","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","description":"a JSON body, up to 4 KB. This attraction takes no parameters — POST {} . Every attraction on penny402 is a flat $0.0025; the unpaid 402 carries those exact terms."},"type":{"type":"string","const":"http"},"method":{"type":"string","const":"POST"},"bodyType":{"type":"string","const":"json"}},"additionalProperties":false},"output":{"type":"object","required":["type","format"],"properties":{"type":{"type":"string","const":"text"},"format":{"type":"string","const":"application/json","description":"the attraction, as JSON, in the response body"},"example":{"description":"a sample response from the real code path"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.0025","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.0025/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0025","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0025","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_c0rfuIxT7iE7HDMXCN47u","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0025","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Generates a humorous, personalized roast of the paying wallet based on its real-time on-chain state (USDC balance tier, native balance, and contract presence), keyed to the wallet address and UTC date so it stays consistent all day.","exampleAgentPrompt":"Give me a roast of the wallet I'm paying from — read its on-chain state and write me a funny, personalized one-liner about whether I'm basically broke or sitting on a vault.","exampleUseCases":[{"title":"Daily wallet humor for crypto traders","prompt":"Roast my wallet today — check what's actually on-chain and give me a witty line about whether I'm dust, pocket change, or somehow a vault."},{"title":"Personality quirk for a Web3 agent","prompt":"I want my AI agent to open each session with a funny self-aware roast of the wallet it's using — can you pull one from penny402 based on today's balance state?"},{"title":"Ice-breaker for a crypto community bot","prompt":"Our Discord bot should greet new members who connect their wallets with a short, personalized roast based on their USDC and ETH balance — get one from the roast endpoint on penny402."}],"resultDescription":"A single witty roast line personalized to the paying wallet, derived from its on-chain state at request time: USDC balance tier (dust/pocket/purse/vault), native balance presence (gas or none), and whether the address is a contract or plain EOA. The line is deterministically keyed to the wallet address and UTC date, so the same wallet gets the same roast all day. Exact amounts are never returned or stored.","failureModes":["Chain unreadable at request time — fallback to generic roast line rather than error","Empty POST body rejected if malformed (must be valid JSON, even if {})","Payment not completed — 402 response with pricing terms before roast is delivered","Date boundary edge cases may produce a new roast at UTC midnight"],"whenToPreferThis":"Choose this endpoint when you want a lightweight, humorous, on-chain-aware personality flourish tied to the paying wallet — ideal for entertainment bots, Web3 agent icebreakers, or any context where a wallet's financial tier should be acknowledged with levity rather than raw numbers. It reads live chain state so the roast reflects current reality without ever exposing exact balances.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:38:40.073Z","isFirstParty":false}