Appearance
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-custody→EXHhL2QU…,numero-betting→BfGbFyiT…, used identically on devnet + mainnet.numero-token(playSKPK-clean) andnumero-core(per-table mint) kept their IDs. Rotation threaded through thedeclare_id!s, the cagePROGRAM_IDS,Anchor.toml, the init/standup scripts, and the on-chain + cage-e2e tests. CHIP_TOKEN=playskpkcutover on staging. The cage's chip mint isCHIP_TOKEN-parameterized and fail-closed (resolveChipTokenthrows 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_mintsnot 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(playskpkon 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_URLconfig on prod, no prod Solana Fly app — nothing pointed at the beta devnet.
Now current
- The Solana Beta Chain — the beta's on-chain layout, program IDs, playSKPK, and the fund-path diagram.
- Testing on Solana — the cage-e2e now on fresh custody/betting IDs.
- Solana fee-payer drained — the fee-payer top-up runbook.
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.