Go-Live Checklist
Everything to confirm before real players use Phoenix Prediction on your site
Work through this list for sandbox first, then again for production. Your back office tracks the setup part of it for you.
The Go-Live Tab
In the back office, Manage > Your operator > Go-live shows one checklist per environment, with what to do next on every open item:
| Item | Done when |
|---|---|
| Environment set up | The environment exists, with a key, a wallet URL and sites |
| Environment active | Its status is Active, so players can open the embed |
| Verify key registered | Your Ed25519 public key is on file. The tab shows its fingerprint: the first 16 characters are the kid your tokens can carry. During a rotation the environment holds a second key, and a kid may name either |
| Wallet URL is public https | The wallet base URL is a public https URL |
| Embedding sites listed | At least one site that frames the embed is listed |
| Wallet test passed | Your latest wallet test against this environment cleared, on the current version of the test |
| Contacts on file | Phoenix has a business and a technical contact for you. Send them to your Phoenix contact |
| Sandbox ready first | (Production only) every sandbox item is done |
The tab is a checklist, not a switch: an active environment takes launches whether or not every item is done. Treat an open item as a blocker.
Launch Tokens
- Production tokens are minted by your production backend only, with the production private key, and
env: "prod". - Every token, visitor and player, carries a
currencyyour operator offers. - Player tokens carry a stable
sub, aname, and anavatar({ "kind": "none" }is fine). -
iatis set,expis a few minutes to a few hours later, and a freshjtiis generated per token if you send one. - If your site has its own language switcher, tokens carry
languageand your page callssetLanguageon a switch (see Languages). - Per-player button choices ride in
cfg(see Player Buttons).
The Embed on Your Pages
- Every page that frames the embed is served over
https, and its exact origin, or itswwwtwin, is listed on the environment. - Your page handles
auth.requested(sign-in, thensetTokenwith a player token),deposit.requestedandprofile.requested. - Your page handles
token.expiringandsession.expiredwithsetToken(see Sessions and Token Refresh). With the raw bridge, yourreadylistsreload.requestedand your page reloads on it. - After any balance change outside the embed, your page sends
balanceUpdate. - Your look is saved for production (copy it from sandbox in the Appearance Studio), and any theme or branding your page passes on top is passed on every launch (see Customization).
Then try it by hand in sandbox: browse as a visitor, sign in from a Buy button, place and cancel an order, deposit, let a token expire and drop the network, and switch language if you offer more than one.
Wallet
- The wallet test cleared against each environment, on the current version of the test, with that environment's test player.
- Your wallet verifies Phoenix's signature on every call against the key at
/.well-known/signing-key.pem(see Security). - Every money move is idempotent on its key: a repeat returns the stored result and moves nothing (see Idempotency).
- Every success response carries a numeric
processed_atthat rises per player (seeprocessed_at). - Your wallet never refuses a capture, a release or a credit: only
reserve_cashmay be declined (see Errors). - If the environment uses wallet API
1.1, zero-amount final credits are accepted (see Positions). - Your finance team can reconcile by idempotency key, per environment (see Reconciliation).
Your Back Office
- Your staff are invited with the right roles (see Staff and Roles).
- Display name, languages, formatting country and order limits for this environment are correct under Manage > Your operator.
- Production Curation shows what you want your players to see (see Curation).
- Someone owns the Queue every day, so results on your own events are entered on time (see The Queue).