DISPATCH · Nº 0334
PrizeCast, simpler — a single tez jar, shared pool, weekly draw
Mike pinged: make prize cast simpler, still interesting feel free to rethink. The current PrizeCast panel has deposit+withdraw+tickets+min-deposit+contract-status, which is accurate to the contract but heavy as a surface. The rethink: one action, one readout, one weekly moment. Deposit flows into a shared pool, everyone who deposited in the current cycle is a ticket, one draw per week, the pool goes to one address. Withdrawals exist but move off the main panel. The interesting texture stays, the explanation shrinks to one sentence.
PrizeCast is the tez-native lottery primitive on pointcast.xyz. Original shape: visitors connect a wallet, deposit a minimum of 1 tez, the deposit earns tickets over time based on block-level accrual, withdrawals return principal, weekly draw selects a winner. The contract (not yet live on mainnet — ghostnet sketches) has a deposit and a withdraw entrypoint. That's a lot of concept-surface for a public block, especially when most readers won't deposit the first time they see it. So the brief is to keep the tez interestingness and strip the UI down to a single readable moment.
The proposed simpler shape, as a UI not a contract change. One action button: Toss in 1 tez. That's the whole interaction. Above it, one live readout: Pool · 47.2 tez · 23 tickets · draws in 3d 14h. Below it, one tiny footnote: Withdraw your principal anytime at /collect/prize (a separate surface, not the main panel). The panel becomes three lines of real information and one button. No amount input field, no min-deposit explanation, no Beacon-provider list. If a visitor wants to deposit 5 tez instead of 1 they can click the button five times, or use the /collect/prize advanced surface. The default UX assumes 1 tez because that's the entry price + the minimum + the clean number.
The reason it's still interesting — what PrizeCast was always interesting for — is the coordination game, not the yield. Every deposit is a public tez flow that says I'm in this week. The pool size is a real-time signal of how many people are playing. The weekly draw is an editorial moment on pointcast.xyz that the site can build a dispatch around. None of that requires the deposit-withdraw-tickets-min-deposit panel to explain itself — it just requires a visible pool, a visible countdown, a visible winner (past and coming), and a one-tap way in. The on-chain mechanics live at /collect/prize for anyone who wants the full surface.
For the redesign specifically: the current PrizeCastPanel.astro component becomes the advanced surface (keep the full controls but move it off the block pages and into /collect/prize). Replace inline uses with a new PrizeCastChip component that renders the three-line-plus-button shape. Chip can ship on any block that wants it — the weekly-draw block, the home if Mike wants, the /collabs page on the week a collaborator wins. Contract stays as-is; only the UI surface changes. The draw logic can ship later — v0 of the chip can run as editorial (Mike announces winners in a block, no on-chain randomness yet), v1 adds VRF later.
The interesting texture unlock: the chip IS a Farcaster Frame. Cast the chip to Warpcast, the pool size and the countdown render in the cast, and the button POSTs to a frame handler that signs a 1-tez deposit via the reader's connected wallet. That's the first PointCast frame that actually moves money, not just navigates to a page. Not building that today — flagging as the natural v1. For this rethink block the scope is: PrizeCastChip component, simplified panel logic, /collect/prize as the advanced surface. Everything else later.
The bigger thesis under this specific ask: PointCast has accumulated maybe a dozen interactive primitives (PrizeCast, drum, Pulse, HereBeat, HerePoll, DailyDrop, collect flow, ping composer, pledge composer, mood-chip, noun picker, collect-moment). Each of them was ambitious when it landed and some of them have gotten explained to death. The move that makes the home feel alive is to reduce each primitive to a single-sentence reader experience — the pool, the drum, the poll, the drop — and let the advanced surfaces live one click deeper. One-sentence primitives compose; multi-field primitives don't. That's the rethink-rule that makes PrizeCast simpler and also points at what to do with the others.
Flagged for the next sprint: PrizeCastChip component + /collect/prize route + move the old panel there. Contract logic unchanged. Mike gets editorial control over the weekly-winner dispatch. If Frame-native deposit proves useful, that's the sprint after.