四个接口。 这就是全部接入。
您提供钱包,我们调用它。关于您玩家的任何信息都不会越过您这一侧的边界。
钱包契约
这些由您实现。我们使用共享密钥认证,并在网络故障时以幂等方式重试。
POST
/wallet/balance按玩家 ID 与币种返回当前余额。
POST
/wallet/debit冻结投注金额。按 transaction_id 幂等。
POST
/wallet/credit为已结算回合派彩。按 transaction_id 幂等。
POST
/wallet/rollback作废从未结算的扣款——超时或回合取消后触发。
一个回合的完整往返
这就是一笔投注的全部交互。玩家 ID 是您自选的任意不透明字符串;除此之外我们不存储任何东西。
round lifecycle
1. player opens the game
GET https://mines.example.com/?token=<your session token>
2. we ask your wallet for the balance
POST /wallet/balance
{ "player_id": "8f2c…a91d", "currency": "usd" }
→ { "balance": "249.00" }
3. player bets 1.00
POST /wallet/debit
{ "player_id": "8f2c…a91d", "currency": "usd", "amount": "1.00",
"game": "mines", "round_id": "r_8814", "transaction_id": "tx_5f21" }
→ { "balance": "248.00" }
4. round settles at 3.6x
POST /wallet/credit
{ "player_id": "8f2c…a91d", "currency": "usd", "amount": "3.60",
"game": "mines", "round_id": "r_8814", "transaction_id": "tx_5f22" }
→ { "balance": "251.60" }
5. proof is published with the result
{ "round_id": "r_8814", "server_seed_hash": "9c1f…", "server_seed": "b7a0…",
"client_seed": "player-chosen", "nonce": 41 }
上线通常是这样
取自我们最近接入的几家运营商。
当天
沙箱凭证、完整游戏库、虚拟资金
2–5 天
一名后端工程师完成钱包对接的典型耗时
1 天
通过我们的验收测试集
不到一周
生产环境上的第一笔真实投注