# penny402 Wallet Roast

> penny402 Wallet Roast is a paid API for AI agents from penny402.fun, paid per call via x402, $0.0025/call, status unknown (last checked 2026-09-15).

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.

## Facts

- Endpoint: POST https://penny402.fun/roast-my-wallet
- Price: $0.0025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/penny402-wallet-roast-623bd692
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5sB2i2NCDLraps48O0YNZ

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability penny402-wallet-roast-623bd692 -d '<json body>'
```

Example prompt: 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.

## When to prefer this

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.

## Known failure modes

- 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

## How this service works

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.

## Output

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.

## Request schema (JSON Schema)

```json
{
 "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
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/penny402-wallet-roast-623bd692/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from penny402.fun](https://www.zero.xyz/host/penny402.fun/llms.txt)
