Examples
Live examples are hosted by the Expo showcase app at showcase.cetacea.city. These embeds are useful for docs review and browser smoke checks. Native release builds remain the source of truth for gestures, haptics, Skia performance, and screen-reader behavior.
Backend-resolved scratch ticket
<ScratchTicket
resolveOutcome={(context) => api.reserveReward(context.interactionId)}
game={{ type: "number-match", winningNumbers, yourNumbers }}
layout={{ title: "luxy cash", topPrizeLabel: "WIN $20 OFF" }}
cover="premium"
scratcher
/>
Backend-resolved slot machine
<SlotMachine
resolveOutcome={(context) => api.reserveSpinReward(context.interactionId)}
symbols={slotSymbols}
effects={{ glass: true, paylineGlow: { color: "#FDE68A" }, motionBlur: true }}
/>
Local odds examples
Use local odds examples for demos and internal review only. Do not present client-side weighted randomness as fair, tamper-proof, gambling-compliant, fraud-resistant, or audit-ready.