Technical update for Sui builders
We fixed the JASON wager flow at the transaction layer.
The issue was not the wallet balance. Sui supports two fungible storage models: versioned Coin<T> objects and object-free address balances. Some wallets held JASON entirely in the second model, while our casino was only searching for Coin<JASON> object IDs.
The casino now uses Sui’s native tx.coin({ balance, type }) resolver. Sui selects the correct source, withdraws the exact wager amount, and materializes the Coin<JASON> input required by our Move entrypoint. We pre-build the Programmable Transaction Block through gRPC before wallet approval, resolving address-balance withdrawals and shared-object versions up front.
The result is a cleaner Sui-native flow:
JASON remains on Sui with no bridge or custodial conversion
The casino receives the exact amount requested
Wallets receive a concrete, verifiable PTB
Game outcomes and payouts are confirmed from on-chain events
This brings the casino in line with Sui’s current balance architecture instead of assuming every token must exist as a separate coin object.
@EmanAbio @EvanWeb3 @Mysten_Labs