Skip to content

2026-07-19 — Devnet Solana deploy: staging reshaped to the full playSKPK beta fund path

Staging now runs the complete playSKPK beta fund path — deposit → play → settle → withdraw → escape-to-custody — in the exact shape mainnet-solana-deploy will reuse. Scope A (the claim board granting playSKPK) landed earlier; this plan made staging playable on playSKPK.

What shipped

  • Fresh program IDs for custody + betting. Their devnet configs+vaults were permanently tSKPK-bound singletons (a vault token account binds one mint for life; no reinit/set-mint instruction), so a field update couldn't rebind them to playSKPK. numero-custodyEXHhL2QU…, numero-bettingBfGbFyiT…, used identically on devnet + mainnet. numero-token (playSKPK-clean) and numero-core (per-table mint) kept their IDs. Rotation threaded through the declare_id!s, the cage PROGRAM_IDS, Anchor.toml, the init/standup scripts, and the on-chain + cage-e2e tests.
  • CHIP_TOKEN=playskpk cutover on staging. The cage's chip mint is CHIP_TOKEN-parameterized and fail-closed (resolveChipToken throws on a bad value at boot), so the whole fund path — table/custody/betting vaults + every chip ATA — runs on playSKPK; the real-money faucet/wrap path is structurally absent (init_mints not run). Boot-verified: the deployed cage is health-passing on playSKPK with no stale program-ID override.
  • Frontend chip-mint follow. The poker frontend's Solana chip derivation was hardcoded to tSKPK; it now resolves the chip mint from NEXT_PUBLIC_CHIP_TOKEN (playskpk on staging web), so the UI reads/deposits the same mint the cage credits.
  • Orphaned pre-cutover tSKPK disposed. The playSKPK cage structurally can't sign for the old tSKPK vaults, so the E-RAKE-4 rake-conservation sweep + tournament-fee-collect ERROR-churned every ~5 min on ~10 closed tSKPK tables (~120K orphaned tSKPK test chips, 3441 house rows + 8 stuck rake links). A one-off ledger reconcile (sentinel disposed:precutover-tskpk) cleared the backlog; both sweep scans now return 0.
  • Prod untouched. No CHIP_TOKEN/NEXT_PUBLIC_CHIP_TOKEN/SOLANA_RPC_URL config on prod, no prod Solana Fly app — nothing pointed at the beta devnet.

Now current

Real key custody (Squads/hardware) + the mainnet cut are deferred to mainnet-solana-deploy, which mimics this deploy after the rest of the mainnet prep lands.