# penny402 Oracle — Daily Fortune for Paying Wallet

> penny402 Oracle — Daily Fortune for Paying Wallet is a paid API for AI agents from penny402.fun, paid per call via x402, $0.0025/call, status unknown (last checked 2026-09-13).

Returns a stable, pre-drawn daily fortune (oracle reading) tied to the UTC day, optionally echoing back a user question without letting it influence the answer.

## Facts

- Endpoint: POST https://penny402.fun/oracle
- Price: $0.0025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/penny402-oracle-daily-fortune-for-paying-wallet-cf7086b1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AozwLIfwecVhY0vm1EsFP

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-oracle-daily-fortune-for-paying-wallet-cf7086b1 -d '<json body>'
```

Example prompt: Ask the penny402 oracle for today's fortune — include my question 'Will this project succeed?' and get back whatever the day's reading holds for the wallet that paid.

## When to prefer this

Choose this endpoint when you want a lightweight, deterministic daily fortune tied to a paying wallet address, with no model inference cost at serve time and a guaranteed stable response for the full UTC day. Prefer it over generative fortune endpoints (like penny402's hot-read attraction) when reproducibility and low latency matter more than novelty, or when you want the same reading to persist across multiple calls within a day.

## Known failure modes

- Payment not included or insufficient — returns HTTP 402 with pricing terms ($0.0025 USDC)
- Question field exceeds 140 characters — likely rejected or truncated
- Request body exceeds 4 KB — rejected
- Network/server error — standard 5xx response
- Fortune pool exhausted or misconfigured — service may return an error or empty reading

## How this service works

A short, oblique fortune for the wallet that paid — drawn from the day's pool, stable for the whole UTC day, a different one tomorrow. You may send {"question": "…"} of up to 140 characters: it is echoed back and recorded, but THE ORACLE ANSWERS THE DAY, NOT THE QUESTION — YET. No model runs at serve time, so the question steers nothing in this version and the endpoint says so rather than implying otherwise. Nothing staked, nothing to redeem, one round trip.

## Output

A JSON object containing a short, pre-drawn fortune text stable for the entire UTC day, keyed to the day's pool (not the question). If a question was supplied, it is echoed back in the response along with a note clarifying that the oracle answers the day, not the question. No model inference runs at serve time; the reading is deterministic per day.

## 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. Optionally {\"question\": \"…\"} of at most 140 characters — it is echoed back and recorded, and in this version it does not influence the reading. POST {} to skip it. 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-oracle-daily-fortune-for-paying-wallet-cf7086b1/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)
