桌台与局结果
桌台清单
GET /tables 列出你可以选的桌(平台桌、你自己建的桌,以及其他商户提供给你的桌),以及你是否已激活:
{
"ok": true,
"data": {
"tables": [
{
"tableId": "S01",
"game": "baccarat",
"variants": ["classic", "nocomm"],
"name": { "CHT": "模擬百家樂 1", "CHS": "模拟百家乐 1", "ENG": "Sim Baccarat 1" },
"status": "open",
"betSeconds": 20,
"enabled": true
}
]
}
}| 字段 | 说明 |
|---|---|
tableId | 桌号,用在 launch 的 table、注单的 tableId |
game | baccarat 百家乐、dragontiger 龙虎、holdem 德州扑克、niuniu 牛牛 |
variants | 这张桌提供的玩法;百家乐为 classic(传统)与 nocomm(免佣),牛牛为 standard |
name | 各语言桌名,键为语言代码 |
status | open 开放、maintenance 维护中 |
betSeconds | 默认下注秒数 |
enabled | 你是否已激活;玩家只看得到你已激活的桌 |
provider | 只有其他商户提供给你的桌才有:{ "name": 提供者名称 } |
沙箱租户已激活所有模拟器桌:S01、S02(百家乐)、S03(龙虎)与 N01(牛牛)。
激活与禁用
可以在 Console 桌台 → 桌台管理 操作,也可以用 API:
POST /api/tenant/v1/tables/enable {"tableId": "S01"}
POST /api/tenant/v1/tables/disable {"tableId": "S01"}{ "ok": true, "data": { "tableId": "S01", "enabled": true, "used": 2, "quota": 2 } }- 免费方案最多激活配额内的桌数(默认 2 桌,平台可对个别租户调整),超过回
409 QUOTA_EXCEEDED。 - 付费方案没有配额(
quota为null),激活的当天起每桌每月 100 USD,依日按比例从预付额度扣,见计费说明。 - 账户停权时回
409 ACCOUNT_LOCKED;桌号不存在回404 NOT_FOUND。 - 禁用后玩家立刻看不到、也进不去这张桌;禁用当天仍计费一天。
- 已激活的桌再激活一次不会出错。
其他商户提供的桌
商户可以把自己建的桌(自己的摄影棚、荷官与读牌器)提供给其他商户使用。平台开放跨商户提供、提供者的申请经平台核准,而且把你列为对象(或提供给所有商户)时,这张桌会出现在你的 GET /tables,多一个 provider:
{
"tableId": "STUDIO-B1",
"game": "baccarat",
"variants": ["classic", "nocomm"],
"name": { "CHT": "旗艦攝影棚 B1", "ENG": "Studio B1" },
"status": "open",
"betSeconds": 20,
"enabled": false,
"provider": { "name": "旗艦娛樂" }
}- 激活、禁用和平台桌一样(
POST /tables/enable、/tables/disable,或 Console 桌台管理 → 其他商户提供的桌),也和平台桌一样算进你的桌数与桌费。 - 钱不跨商户:你的玩家照你的限红下注、由你结算,注单照常出现在你的
GET /bets;提供者只提供桌、图像与开牌结果。你可以在 Console 另外设置这张桌的限红上限(比你的限红更低)。 - 只有真人读牌器(RoadMapServer 读牌)与德州扫描仪的桌、经平台审核后才能提供;平台每小时监控每张提供桌对各使用商户的输赢,异常时可能停止提供。
- 德州玩家对玩家桌例外:你的玩家和其他商户的玩家同桌对打,钱在玩家之间移转(平台的玩家对玩家桌也一样)。只有和桌同币种、同一个资金池(正式商户和正式商户;沙箱与平台展示账户和试玩的桌)才能激活。平台逐手记下每个商户的净额(玩家输赢+归你的抽水),每天从你的预付额度扣款或入账,见计费说明。
- 提供者停止提供、把你移出对象,或平台停止这张桌时,这张桌在本局结束后从你的大厅下架:新的下注被拒,本局已下的注照常结算,
GET /tables不再列出,已激活的自动禁用。平台暂停跨商户提供时一样立即下架,重新开放后自动恢复。 - 视频由提供者推流,观看流量算你的(和平台桌一样依观看者的商户计算)。
- 提供者可以收使用费(每日固定费或有效投注的百分比),由平台每天从你的预付额度代收,见计费说明。
局的生命周期
- 开放下注:倒数由数据源提供(没有时使用桌的
betSeconds)。 - 停止下注:倒数结束、数据源送出停止下注,或开始发牌时立即封盘。
- 开牌与结算:收到结果后验证牌面与补牌规则,然后结算所有注单并自动派彩;注单出现在
GET /bets,局结果出现在GET /rounds/{roundId}。 - 作废:倒牌、荷官失误、设备故障等情况下,数据源会作废该局,所有注单全额退回本金(牛牛连同预扣;注单
status: void)。 - 异常局:已停止下注但 10 分钟内没有收到结果的局,会自动作废并退款。
- 修正:结算后 30 分钟内收到的修正,若新结果完整且通过规则验证,会自动重算(注单以新的
rev出现);超出护栏时维持原结果、不动金额,并把该局标为争议局(disputed)。
数据源中断时,该桌会立即停止收注,恢复后自动继续;平台维护桌台时,GET /tables 的 status 为 maintenance。
查询局结果
GET /api/tenant/v1/rounds/01K5Y0B8Z6R2M4N7P9Q3S5T8VW{
"ok": true,
"data": {
"roundId": "01K5Y0B8Z6R2M4N7P9Q3S5T8VW",
"tableId": "S01",
"shoe": "260924-03",
"round": 12,
"status": "settled",
"code": "1",
"cardInfo": "122334424000",
"result": {
"cards": { "P1": "2C", "B1": "4H", "P2": "3D", "B2": "2S", "P3": "10S" },
"player": 5,
"banker": 6,
"winner": "B",
"playerPair": false,
"bankerPair": false
},
"complete": true,
"rev": 1,
"openedAt": "2026-09-24T03:00:30.012Z",
"settledAt": "2026-09-24T03:01:20.480Z"
}
}roundId是 26 字符的大写 ULID,可以从注单的roundId取得。格式不符时回404 NOT_FOUND;局尚未结算时回404 ROUND_NOT_FOUND。status:settled已结算、void作废、disputed争议局。rev:结果版次,第一次结果为 1,每次修正与作废各加 1。complete:true表示有完整牌面;false表示数据源只提供了输赢与点数(没有牌面时cardInfo中的牌以00表示;牛牛则是各家输赢,可能附牌型)。- 牛牛每局一副新牌、没有靴:
shoe是场次(默认每 60 局换一场),round是本场次第几局。示例见牛牛的局结果。
结果码
code 是一个十六进制字符,由字节成:
| 比特 | 百家乐 | 龙虎 |
|---|---|---|
| bit 0–1(值 1–3) | 1 庄赢、2 闲赢、3 和 | 1 龙赢、2 虎赢、3 和 |
| bit 2(值 4) | 庄对 | 同花和 |
| bit 3(值 8) | 闲对 | — |
所有可能的值:
code | 百家乐 | code | 百家乐 |
|---|---|---|---|
1 | 庄 | 9 | 庄、闲对 |
2 | 闲 | A | 闲、闲对 |
3 | 和 | B | 和、闲对 |
5 | 庄、庄对 | D | 庄、庄对、闲对 |
6 | 闲、庄对 | E | 闲、庄对、闲对 |
7 | 和、庄对 | F | 和、庄对、闲对 |
龙虎:1 龙、2 虎、3 和、7 同花和。作废且没有结果的局,注单的 result.code 为空字符串。
牛牛的结果码
牛牛的 code 是 5 个字符:[胜负][庄][闲一][闲二][闲三]。
- 胜负:赢庄的闲家比特相加(闲一 1、闲二 2、闲三 4),十六进制
0–7;0为庄通杀、7为庄通赔。 - 各家牌型:
0无牛、1–9牛1~牛9、A牛牛、B五花牛、C炸弹、D五小牛(B–D只在打开特殊牌型的桌出现);-表示不知道这一家的牌型(数据源的结果不完整)。
| 示例 | 解读 |
|---|---|
5893A | 5 = 1 + 4:闲一、闲三赢。庄牛8、闲一牛9、闲二牛3、闲三牛牛 |
0A123 | 庄牛牛,闲一牛1、闲二牛2、闲三牛3 都输(庄通杀) |
注单的 result.hands、result.winners 就是解好的各家牌型与输赢,见牛牛的注单。
牌面字符串
cardInfo 每张牌 2 个字符:花色(1 梅花 ♣、2 方块 ♦、3 红心 ♥、4 黑桃 ♠)+点数(1 为 A、2–9、0 为 10、J、Q、K);00 表示没有这张牌。
- 百家乐:12 个字符,依序为 闲 1、闲 2、庄 1、庄 2、闲补牌、庄补牌。
- 龙虎:4 个字符,依序为 龙、虎。
- 牛牛:写法不同,见牛牛的牌面字符串。
| 示例 | 解读 |
|---|---|
122334424000 | 闲 2♣ 3♦,庄 4♥ 2♠,闲补 10♠,庄不补 → 闲 5 点、庄 6 点,庄赢 |
3K49 | 龙 K♥、虎 9♠ → 龙赢 |
牛牛的牌面字符串
牛牛的 cardInfo 是 头牌|庄|闲一|闲二|闲三 五段,以 | 分隔;每段依序是那一家的第 1~5 张,牌面写法与结构化结果相同(AS、10H、QD),以空白分隔。没有的牌省略(数据源的结果不完整时,可能整段都是空的)。
| 示例 | 解读 |
|---|---|
7H|KS QD 10C 3S 5H|4C 6D JS 9C KH|2D 8S QC AH 2C|7D 3H KD 5C 5D | 头牌 7♥;庄 K♠ Q♦ 10♣ 3♠ 5♥=牛8;闲一 4♣ 6♦ J♠ 9♣ K♥=牛9;闲二 2♦ 8♠ Q♣ A♥ 2♣=牛3;闲三 7♦ 3♥ K♦ 5♣ 5♦=牛牛 |
结构化结果
GET /rounds/{roundId} 的 result 与数据源接口 GFI 的结果格式相同,牌面写法为 <点数><花色>,例如 AS、10H、QD(花色 S 黑桃、H 红心、D 方块、C 梅花)。
- 百家乐:
cards(位置P1 B1 P2 B2 P3 B3,未发的牌省略)、player、banker(点数 0–9)、winner(P、B、T)、playerPair、bankerPair。 - 龙虎:
cards(D、T)、winner(D龙、T虎、TIE和)。龙虎点数 A=1 … K=13(A 最小),不比花色;点数相同且花色相同为同花和。 - 牛牛:
cards(牌位F头牌、B-1~B-5庄、P1-1~P1-5闲一、P2-1~P2-5闲二、P3-1~P3-5闲三,完整结果 21 张)、hands(各家牌型代码 0–13)、winners(P1、P2、P3各自对庄:P闲赢、B庄赢)。示例见牛牛的局结果。
投注区与赔率
以下为平台默认赔率(「赔率」指净赢倍数,退回金额 = 本金 × (1 + 赔率)):
| 投注区 | 代码 | 传统 classic | 免佣 nocomm |
|---|---|---|---|
| 庄 | B | 0.95 | 1(庄 6 点赢时 0.5) |
| 闲 | P | 1 | 1 |
| 和 | T | 8 | 8 |
| 庄对 | BP | 11 | 11 |
| 闲对 | PP | 11 | 11 |
| 超级六 | S6 | — | 12(庄 6 点赢) |
- 和局时,押庄、押闲的本金退回。
- 派彩计算到小数第 4 位,更小的位数舍去。
龙虎(dragontiger):
| 投注区 | 代码 | 赔率 |
|---|---|---|
| 龙 | D | 1(和局时退回一半本金) |
| 虎 | TG | 1(和局时退回一半本金) |
| 和 | T | 8 |
| 同花和 | ST | 50 |
| 龙大、龙小、龙单、龙双 | DB、DS、DO、DE | 1 |
| 虎大、虎小、虎单、虎双 | TB、TS、TO、TE | 1 |
- 大小单双只在您于 Console「桌台设置」打开的龙虎桌提供(默认关闭);没开的桌下注会被拒绝。
- 大小单双只看该方那一张牌(A=1 … K=13):大 8–K、小 A–6;单 A、3、5、9、J、K,双 2、4、6、8、10、Q;开出 7 时大小单双都输。龙虎和局不影响大小单双。
- 限红:大小单双每一区套用主注(龙虎)的最小与最大值。
- 结果没有牌面(
complete: false)时,大小单双的注全额退回。
德州扑克(holdem):
| 桌 | 投注区 | 代码 | 说明 |
|---|---|---|---|
玩家对荷官 casino(Casino Hold'em) | 底注 | ANTE | 依桌的赔率表派彩(默认:皇家同花顺 100、同花顺 20、四条 10、葫芦 3、同花 2、其他 1);荷官不合格(没有一对 4 以上)时只派底注 |
| 跟注 | CALL | 看完两张底牌与翻牌后跟注,金额 2 倍底注,1 赔 1;荷官不合格时退回;弃牌就没有这一区 | |
| AA 边注 | AAB | 玩家两张+翻牌三张一对 A 以上得奖(默认:一对 A、两对、三条、顺子 7,同花 20,葫芦 30,四条 40,同花顺 50,皇家同花顺 100) | |
玩家对荷官 thbp(Texas Hold'em Bonus Poker) | 底注 | ANTE | 玩家赢、而且最终牌型是顺子以上(大西洋城赔率的桌:同花以上)时 1 赔 1,否则退回;荷官不用合格 |
| 翻牌注 | FLOP | 看完两张底牌后下(2 倍底注),玩家赢 1 赔 1;弃牌就没有这一区 | |
| 转牌注 | TURN | 翻牌后可以下(1 倍底注)或过牌,玩家赢 1 赔 1 | |
| 河牌注 | RIVER | 转牌后可以下(1 倍底注)或过牌,玩家赢 1 赔 1 | |
| 红利注 | BONUS | 只看玩家起手两张(默认:AA 且荷官起手也是 AA 1000、AA 30、AK 同花 25、AQ/AJ 同花 20、AK 15、KK/QQ/JJ 10、AQ/AJ 5、22–1010 对子 3),弃牌也照赔 | |
玩家对玩家 nlhe(无限注) | 底池 | POT | 这手投入底池的合计;return 为没被跟注而退回的部分;赢得的底池已扣抽水(注单的 rake) |
- Texas Hold'em Bonus Poker:荷官赢时所有注都输,平手时所有注都退回。
- 开桌的商户可以调整赔率表与座位数等设置;限红用各商户自己的德州限红方案(底注与边注:AA 边注或红利注)。
- 作废:玩家对荷官桌全额退回;玩家对玩家桌退回这手所有投入(含盲注)。
牛牛(niuniu)的投注区、倍数与预扣见下一节牛牛。
牛牛
荷官的庄对闲一、闲二、闲三三家,每家 5 张牌。玩家押的是「某一家闲赢庄」,每家分平倍、翻倍两格,共六格;同一局可以押多家、多格。
牌型与比牌
- 点数:A=1,2–9 照牌面,10、J、Q、K=10。
- 五张里任三张合计是 10 的倍数=有牛,另外两张合计的个位数就是「牛几」(个位数 0=牛牛);找不到这样的三张=无牛。
- 大小:牛牛 > 牛9 > … > 牛1 > 无牛。牌型相同时比五张里最大的一张(K > Q > J > 10 > … > A),点数也相同再比花色(♠ > ♥ > ♣ > ♦)。一副牌不会有两张一样的牌,所以没有和局。
- 特殊牌型:五花牛(五张都是 J、Q、K)、炸弹(四张同点数)、五小牛(五张都小于 5,合计 ≤ 10)。默认关闭,关闭时照一般的牛几计算;打开特殊牌型的桌,大小为 五小牛 > 炸弹 > 五花牛 > 牛牛。
投注区与赔率
| 投注区 | 代码 | 闲赢庄 | 闲输庄 |
|---|---|---|---|
| 闲一、闲二、闲三 平倍 | P1E、P2E、P3E | 1 赔 0.95(赢的部分抽 5%) | 输本金 |
| 闲一、闲二、闲三 翻倍 | P1D、P2D、P3D | 赢 本金 × 闲家牌型的倍数 × 0.95 | 输 本金 × 庄家牌型的倍数 |
翻倍的倍数看赢的那一手的牌型:
| 牌型 | 倍数 |
|---|---|
| 无牛~牛6 | ×1 |
| 牛7~牛9 | ×2 |
| 牛牛 | ×3 |
| 五花牛、炸弹、五小牛(打开特殊牌型的桌) | ×4、×4、×5 |
- 以上是默认规则(平台的模拟桌
N01采用这套规则);个别桌可以调整抽水、倍数表与特殊牌型。 - 派彩计算到小数第 4 位,更小的位数舍去。
- 结果不完整(
complete: false,数据源只提供各家输赢)时,平倍照常结算;翻倍要有赢的那一手的牌型才能结算,没有就退回本金与预扣。
预扣
翻倍可能输超过本金,所以押翻倍时,平台除了本金,还会从玩家余额预扣「本金 ×(最高倍数 − 1)」:默认为本金 × 2(打开特殊牌型的桌为本金 × 4)。开牌后依实际输赢结算,没用到的预扣连同派彩一起退回。
| 翻倍押 1,000(另预扣 2,000) | 结算时退回 | 玩家输赢 |
|---|---|---|
| 闲牛牛,赢 | 1,000 + 2,000 + 1,000 × 3 × 0.95 = 5,850 | +2,850 |
| 闲输给庄牛8(×2) | 1,000 + 2,000 − 2,000 = 1,000 | −2,000 |
| 闲输给庄牛3(×1) | 1,000 + 2,000 − 1,000 = 2,000 | −1,000 |
- 余额不够本金+预扣时不能下注;翻倍的限红指本金,预扣另计。
- 注单的
hold、bets[].hold是预扣,payout、bets[].return含退回的预扣,所以输赢要用winLoss(=payout − stake − hold),见牛牛的注单。 - 作废时本金与预扣全额退回。
发牌与开牌
- 每局一副新牌(52 张),一局用 21 张:先翻开一张头牌(不算进任何一家),依头牌点数决定哪一家先发:A、5、9、K 庄,2、6、10 闲一,3、7、J 闲二,4、8、Q 闲三;之后照 庄 → 闲一 → 闲二 → 闲三 轮流,每家 5 张。
- 四家的牌面朝下发出,停止下注后依 闲一 → 闲二 → 闲三 → 庄 逐家开牌。
- 每局一副新牌,所以没有「靴」:注单与局结果的
shoe是场次(默认每 60 局换一场,路单以场次为单位),round是本场次第几局。
牛牛的局结果
{
"ok": true,
"data": {
"roundId": "01K65N7Q2W4E6R8T0Y1V3J5K7P",
"tableId": "N01",
"shoe": "260928-01",
"round": 7,
"status": "settled",
"code": "5893A",
"cardInfo": "7H|KS QD 10C 3S 5H|4C 6D JS 9C KH|2D 8S QC AH 2C|7D 3H KD 5C 5D",
"result": {
"cards": {
"F": "7H",
"B-1": "KS", "B-2": "QD", "B-3": "10C", "B-4": "3S", "B-5": "5H",
"P1-1": "4C", "P1-2": "6D", "P1-3": "JS", "P1-4": "9C", "P1-5": "KH",
"P2-1": "2D", "P2-2": "8S", "P2-3": "QC", "P2-4": "AH", "P2-5": "2C",
"P3-1": "7D", "P3-2": "3H", "P3-3": "KD", "P3-4": "5C", "P3-5": "5D"
},
"hands": { "B": 8, "P1": 9, "P2": 3, "P3": 10 },
"winners": { "P1": "P", "P2": "B", "P3": "P" }
},
"complete": true,
"rev": 1,
"openedAt": "2026-09-28T06:30:05.010Z",
"settledAt": "2026-09-28T06:30:51.640Z"
}
}- 这一局头牌 7♥,所以从闲二先发(闲二 → 闲三 → 庄 → 闲一 轮流);开出庄牛8、闲一牛9、闲二牛3、闲三牛牛:闲一、闲三赢,闲二输。
code、cardInfo的格式见牛牛的结果码与牛牛的牌面字符串。result是数据源送来的结果,格式与数据源接口 GFI 相同;各家输赢由平台依牌面重算,code与注单都以重算的结果为准。
有效投注与洗码量
| 百家乐 | 龙虎 | |
|---|---|---|
有效投注 validStake | 庄赢:庄净赢与闲注相减的绝对值 + 和、庄对、闲对(、超级六)的本金;闲赢:闲净赢与庄注相减的绝对值 + 其他同上;和局:只计和、对子(、超级六) | 龙赢:龙净赢与虎注相减的绝对值 + 和、同花和;虎赢对称;和局:和 + 同花和 + 龙虎实际输掉的一半。大小单双每一组(龙大小、龙单双、虎大小、虎单双)另加「中的一边净赢与另一边注额相减的绝对值」,开 7 两边都输时为两边注额合计 |
洗码量 rolling | 输掉的注的本金合计(超级六不计) | 输掉的注的本金合计,加上和局时龙虎输掉的一半 |
牛牛(niuniu):有效投注=平倍的本金+翻倍的本金 × 实际倍数(bets[].mult,退款的格子不算);洗码量=输掉的金额(平倍输本金、翻倍输本金 × 庄家牌型的倍数)。
作废的注单有效投注与洗码量都是 0。