Overview

What PredMask is, the two wallet models, and the prerequisite both of them share.

PredMask is a prediction-market game that your players reach from inside your own app. PredMask prices every market, controls exposure and settles outcomes; player money lives in a merchant wallet, and the one choice to make is who runs it. Run it yourself and the model is zero-custody — funds never leave your platform. Pick the hosted ledger and the balances sit with us.

Hosted wallet · least to build

We keep the ledger

The operator platform holds the ledger and money commands settle inside it, so there are no callback hooks to write and no money path to reconcile on your side. You top players up through the merchant console and read balances through the same B2B reads as everyone else.

→ Quick Start

Self-hosted wallet · full control

Your wallet, your rules

Hold funds in your own ledger and implement the callback hooks the operator calls to debit and credit players. Full control over the money path, and the reconciliation that comes with it.

→ API Reference

Both models share one prerequisite: a player domain of yours

Players always reach the game on a host you registered and we activated — one enabled CNAME per merchant per environment. It is not branding: the Host is how a request is attributed to your merchant, and it is what makes the whole player surface same-origin. There is no platform-hosted player entry to start on and migrate away from later; a merchant with no enabled domain cannot launch at all, and the launch call refuses with merchant_domain_not_ready rather than returning a URL on a shared host. Read Custom domain (CNAME) before you plan the work — it has the longest lead time in the whole integration and none of it is code.

Three roles

  • Operator — PredMask

    Pricing, risk and settlement. Holds no player funds; emits signed money instructions.

  • Merchant — you

    Holds funds, orchestrates the game via signed B2B calls (or the hosted backend).

  • Player — game-client

    The UI, embedded in your app and served from your own domain, so every call it makes is same-origin. It holds a short session and never touches money.