hyapp-server/docs/幸运礼物动态策略V3模拟结果-20260715.json

2030 lines
61 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"seed": 20260712,
"monte_carlo_draws": 100000,
"long_run_draws": 100000,
"group_long_run_draws": 30000,
"nominal_probability_table": {
"expected_multiplier": 26.5,
"nominal_rtp_percent": 2650,
"target_rtp_percent": 98,
"passes_target": false,
"conclusion": "图示固定概率表的名义EV为26.5x2650%不能作为98% RTP方案只有P/W资金约束后的有资金长跑口径可验证不透支。"
},
"scenarios": [
{
"name": "图示800重抽序列",
"passed": true,
"summary": "P=800固定脚本命中[200x 1000x 5x],最终赔付=50池后=750",
"data": {
"sequence": [
"200x",
"1000x",
"5x"
],
"trace": {
"stage": "novice",
"pool_before_coins": 800,
"pool_contribution_coins": 0,
"available_pool_coins": 800,
"effective_risk_capacity_coins": 9223372036854775807,
"weights": [
{
"tier_id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 600000,
"raw_adjusted_weight_ppm": 600000,
"adjusted_weight_ppm": 600000,
"factors": [
{
"name": "zero_remainder",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "5x",
"multiplier_ppm": 5000000,
"base_weight_ppm": 200000,
"raw_adjusted_weight_ppm": 200000,
"adjusted_weight_ppm": 200000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "50x",
"multiplier_ppm": 50000000,
"base_weight_ppm": 150000,
"raw_adjusted_weight_ppm": 150000,
"adjusted_weight_ppm": 150000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "200x",
"multiplier_ppm": 200000000,
"base_weight_ppm": 40000,
"raw_adjusted_weight_ppm": 40000,
"adjusted_weight_ppm": 40000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "500x",
"multiplier_ppm": 500000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"base_weight_ppm": 10000,
"raw_adjusted_weight_ppm": 10000,
"adjusted_weight_ppm": 10000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
}
],
"draws": [
{
"sequence": 1,
"kind": "original",
"tier_id": "200x",
"multiplier_ppm": 200000000,
"weight_ppm": 40000,
"payout_coins": 2000,
"removed_reason": "pool_insufficient_w_gt_p"
},
{
"sequence": 2,
"kind": "redraw",
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"weight_ppm": 10000,
"payout_coins": 10000,
"removed_reason": "pool_insufficient_w_gt_p"
},
{
"sequence": 3,
"kind": "redraw",
"tier_id": "5x",
"multiplier_ppm": 5000000,
"weight_ppm": 200000,
"payout_coins": 50
}
],
"removed": [
{
"tier_id": "200x",
"reason": "pool_insufficient_w_gt_p"
},
{
"tier_id": "0x",
"reason": "w_gt_p_redraw_excludes_zero"
},
{
"tier_id": "1000x",
"reason": "pool_insufficient_w_gt_p"
}
],
"original_tier_id": "200x",
"redraw_tier_ids": [
"1000x",
"5x"
],
"final_reason": "paid",
"milestone_token_consumed": false,
"milestone_token_retained": false,
"milestone_tokens_earned": 0
}
}
},
{
"name": "P=W边界/候选穷尽",
"passed": true,
"summary": "W=P赔付2000且池归零P=49时正奖候选穷尽安全回0池仍49",
"data": {
"equality": {
"stage": "novice",
"pool_before_coins": 2000,
"pool_contribution_coins": 0,
"available_pool_coins": 2000,
"effective_risk_capacity_coins": 9223372036854775807,
"weights": [
{
"tier_id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 600000,
"raw_adjusted_weight_ppm": 600000,
"adjusted_weight_ppm": 600000,
"factors": [
{
"name": "zero_remainder",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "5x",
"multiplier_ppm": 5000000,
"base_weight_ppm": 200000,
"raw_adjusted_weight_ppm": 200000,
"adjusted_weight_ppm": 200000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "50x",
"multiplier_ppm": 50000000,
"base_weight_ppm": 150000,
"raw_adjusted_weight_ppm": 150000,
"adjusted_weight_ppm": 150000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "200x",
"multiplier_ppm": 200000000,
"base_weight_ppm": 40000,
"raw_adjusted_weight_ppm": 40000,
"adjusted_weight_ppm": 40000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "500x",
"multiplier_ppm": 500000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"base_weight_ppm": 10000,
"raw_adjusted_weight_ppm": 10000,
"adjusted_weight_ppm": 10000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
}
],
"draws": [
{
"sequence": 1,
"kind": "original",
"tier_id": "200x",
"multiplier_ppm": 200000000,
"weight_ppm": 40000,
"payout_coins": 2000
}
],
"removed": null,
"original_tier_id": "200x",
"final_reason": "paid",
"milestone_token_consumed": false,
"milestone_token_retained": false,
"milestone_tokens_earned": 0
},
"exhaustion": {
"stage": "novice",
"pool_before_coins": 49,
"pool_contribution_coins": 0,
"available_pool_coins": 49,
"effective_risk_capacity_coins": 9223372036854775807,
"weights": [
{
"tier_id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 600000,
"raw_adjusted_weight_ppm": 600000,
"adjusted_weight_ppm": 600000,
"factors": [
{
"name": "zero_remainder",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "5x",
"multiplier_ppm": 5000000,
"base_weight_ppm": 200000,
"raw_adjusted_weight_ppm": 200000,
"adjusted_weight_ppm": 200000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "50x",
"multiplier_ppm": 50000000,
"base_weight_ppm": 150000,
"raw_adjusted_weight_ppm": 150000,
"adjusted_weight_ppm": 150000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "200x",
"multiplier_ppm": 200000000,
"base_weight_ppm": 40000,
"raw_adjusted_weight_ppm": 40000,
"adjusted_weight_ppm": 40000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "500x",
"multiplier_ppm": 500000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"base_weight_ppm": 10000,
"raw_adjusted_weight_ppm": 10000,
"adjusted_weight_ppm": 10000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
}
],
"draws": [
{
"sequence": 1,
"kind": "original",
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"weight_ppm": 10000,
"payout_coins": 10000,
"removed_reason": "pool_insufficient_w_gt_p"
},
{
"sequence": 2,
"kind": "redraw",
"tier_id": "200x",
"multiplier_ppm": 200000000,
"weight_ppm": 40000,
"payout_coins": 2000,
"removed_reason": "pool_insufficient_w_gt_p"
},
{
"sequence": 3,
"kind": "redraw",
"tier_id": "50x",
"multiplier_ppm": 50000000,
"weight_ppm": 150000,
"payout_coins": 500,
"removed_reason": "pool_insufficient_w_gt_p"
},
{
"sequence": 4,
"kind": "redraw",
"tier_id": "5x",
"multiplier_ppm": 5000000,
"weight_ppm": 200000,
"payout_coins": 50,
"removed_reason": "pool_insufficient_w_gt_p"
}
],
"removed": [
{
"tier_id": "1000x",
"reason": "pool_insufficient_w_gt_p"
},
{
"tier_id": "0x",
"reason": "w_gt_p_redraw_excludes_zero"
},
{
"tier_id": "200x",
"reason": "pool_insufficient_w_gt_p"
},
{
"tier_id": "50x",
"reason": "pool_insufficient_w_gt_p"
},
{
"tier_id": "5x",
"reason": "pool_insufficient_w_gt_p"
}
],
"original_tier_id": "1000x",
"redraw_tier_ids": [
"200x",
"50x",
"5x"
],
"final_reason": "no_payable_nonzero_tier_fallback_zero",
"blocked_reason": "no_payable_nonzero_tier_fallback_zero",
"milestone_token_consumed": false,
"milestone_token_retained": false,
"milestone_tokens_earned": 0
}
}
},
{
"name": "拆账与冷启动",
"passed": true,
"summary": "100金币拆为98/1/110金币按公共池floor、余数归盈利拆为9/1/0动态池冷启动=0启动资金只能审计注资",
"data": {
"cold_start_state": {
"pool_balance_coins": 0,
"consecutive_zero_draws": 0,
"pending_milestone_tokens": 0,
"user_daily_jackpot_wins": 0,
"user_day_spend_coins": 0,
"global_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"user_round_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"user_48h_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"settled_round_pending": false,
"qualification_closed_at_ms": 0,
"user_registered_at_ms": 0,
"user_day_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"user_72h_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"version": 0
},
"conserved": true,
"rounding_policy": "public=floor, anchor=floor, residue=profit",
"split_100": {
"public_pool_coins": 98,
"profit_pool_coins": 1,
"anchor_return_coins": 1
},
"split_10_rounding": {
"public_pool_coins": 9,
"profit_pool_coins": 1,
"anchor_return_coins": 0
}
}
},
{
"name": "1/5/6/99批量",
"passed": true,
"summary": "每份礼物独立推进一次状态1/5/6/99均完整执行且任一中间池余额不负",
"data": [
{
"requested": 1,
"executed": 1,
"positive": 0,
"payout_coins": 0,
"pool_after": 98,
"tier_counts": {
"0x": 1
}
},
{
"requested": 5,
"executed": 5,
"positive": 0,
"payout_coins": 0,
"pool_after": 490,
"tier_counts": {
"0x": 5
}
},
{
"requested": 6,
"executed": 6,
"positive": 1,
"payout_coins": 500,
"pool_after": 88,
"tier_counts": {
"0x": 5,
"5x": 1
}
},
{
"requested": 99,
"executed": 99,
"positive": 19,
"payout_coins": 9500,
"pool_after": 202,
"tier_counts": {
"0x": 80,
"5x": 19
}
}
]
},
{
"name": "真实流水结算窗口",
"passed": true,
"summary": "阈值99、参考价10、预置10抽/98流水99份共100金币后窗口流水=100/98子抽归属=1/98",
"data": {
"draws_in_window_1": 1,
"draws_in_window_2": 98,
"legacy_derived_draw_threshold": 10,
"reference_price": 10,
"settlement_window_wager": 99,
"windows": [
{
"index": 1,
"paid_draws": 11,
"wager_coins": 100
},
{
"index": 2,
"paid_draws": 98,
"wager_coins": 98
}
]
}
},
{
"name": "低中高水位边界",
"passed": true,
"summary": "\u003c1000万应用0.7等于1000万/2000万均为中水位\u003e2000万应用1.3",
"data": [
{
"pool": 9999999,
"five_x_weight_ppm": 140000,
"factors": [
"low_water"
]
},
{
"pool": 10000000,
"five_x_weight_ppm": 200000,
"factors": [
"identity"
]
},
{
"pool": 20000000,
"five_x_weight_ppm": 200000,
"factors": [
"identity"
]
},
{
"pool": 20000001,
"five_x_weight_ppm": 260000,
"factors": [
"high_water"
]
}
]
},
{
"name": "充值0/299999/300000ms",
"passed": true,
"summary": "充值加成严格使用[0,300000ms)0和299999生效300000失效",
"data": [
{
"age_ms": 0,
"five_x_weight_ppm": 220000,
"boosted": true
},
{
"age_ms": 299999,
"five_x_weight_ppm": 220000,
"boosted": true
},
{
"age_ms": 300000,
"five_x_weight_ppm": 200000,
"boosted": false
}
]
},
{
"name": "概率Monte Carlo",
"passed": true,
"summary": "100000抽经验EV=26.3058x只验证图示概率采样不声称通过98%资金RTP",
"data": {
"counts": {
"0x": 60043,
"1000x": 967,
"200x": 4045,
"50x": 15108,
"5x": 19837
},
"empirical_ev_multiplier": 26.30585,
"empirical_probability": {
"0x": 0.60043,
"1000x": 0.00967,
"200x": 0.04045,
"500x": 0,
"50x": 0.15108,
"5x": 0.19837
},
"expected_probability": {
"0x": 0.6,
"1000x": 0.01,
"200x": 0.04,
"500x": 0,
"50x": 0.15,
"5x": 0.2
}
}
},
{
"name": "RTP长跑",
"passed": true,
"summary": "100000抽实付RTP=97.9950%,投入=9800000赔付=9799500池余=500",
"data": {
"contributed": 9800000,
"fund_conserved": true,
"payout": 9799500,
"pool_after": 500,
"rtp_percent": 97.995
}
},
{
"name": "已结算轮次+注册48小时大奖资格",
"passed": true,
"summary": "注册\u003c48h失败恰48h及只玩最后5分钟按实际总流水判断用户轮次/48h严格\u003c96%,大盘允许=98%,超限或零样本失败",
"data": [
{
"case": "注册47小时即使两个用户RTP都是95%也失败",
"registered_age_hours": 47,
"round_wager_coins": 10000,
"round_payout_coins": 9500,
"rolling_48h_wager_coins": 10000,
"rolling_48h_payout_coins": 9500,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": false,
"triggered": false,
"selected_tier": "0x"
},
{
"case": "注册恰满48小时两个用户RTP都是95%通过",
"registered_age_hours": 48,
"round_wager_coins": 10000,
"round_payout_coins": 9500,
"rolling_48h_wager_coins": 10000,
"rolling_48h_payout_coins": 9500,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": true,
"triggered": true,
"selected_tier": "1000x"
},
{
"case": "注册已满48小时且只在最后5分钟玩48小时总RTP就是这5分钟的95%",
"registered_age_hours": 72,
"round_wager_coins": 100,
"round_payout_coins": 95,
"rolling_48h_wager_coins": 100,
"rolling_48h_payout_coins": 95,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": true,
"triggered": true,
"selected_tier": "500x"
},
{
"case": "已结算用户轮次RTP恰好96%失败",
"registered_age_hours": 48,
"round_wager_coins": 10000,
"round_payout_coins": 9600,
"rolling_48h_wager_coins": 10000,
"rolling_48h_payout_coins": 9500,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": false,
"triggered": false,
"selected_tier": "0x"
},
{
"case": "滚动48小时总RTP恰好96%失败",
"registered_age_hours": 48,
"round_wager_coins": 10000,
"round_payout_coins": 9500,
"rolling_48h_wager_coins": 10000,
"rolling_48h_payout_coins": 9600,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": false,
"triggered": false,
"selected_tier": "0x"
},
{
"case": "已结算大盘RTP恰好98%仍通过",
"registered_age_hours": 48,
"round_wager_coins": 10000,
"round_payout_coins": 9500,
"rolling_48h_wager_coins": 10000,
"rolling_48h_payout_coins": 9500,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": true,
"triggered": true,
"selected_tier": "500x"
},
{
"case": "已结算大盘RTP超过98%失败",
"registered_age_hours": 48,
"round_wager_coins": 10000,
"round_payout_coins": 9500,
"rolling_48h_wager_coins": 10000,
"rolling_48h_payout_coins": 9500,
"global_wager_coins": 10000,
"global_payout_coins": 9801,
"wanted": false,
"triggered": false,
"selected_tier": "5x"
},
{
"case": "仅用户轮次门失败48小时门通过仍失败",
"registered_age_hours": 48,
"round_wager_coins": 10000,
"round_payout_coins": 9700,
"rolling_48h_wager_coins": 10000,
"rolling_48h_payout_coins": 9500,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": false,
"triggered": false,
"selected_tier": "50x"
},
{
"case": "仅48小时门失败用户轮次门通过仍失败",
"registered_age_hours": 48,
"round_wager_coins": 10000,
"round_payout_coins": 9500,
"rolling_48h_wager_coins": 10000,
"rolling_48h_payout_coins": 9700,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": false,
"triggered": false,
"selected_tier": "5x"
},
{
"case": "用户轮次没有消费样本失败",
"registered_age_hours": 48,
"round_wager_coins": 0,
"round_payout_coins": 0,
"rolling_48h_wager_coins": 10000,
"rolling_48h_payout_coins": 9500,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": false,
"triggered": false,
"selected_tier": "0x"
},
{
"case": "滚动48小时没有消费样本失败",
"registered_age_hours": 48,
"round_wager_coins": 10000,
"round_payout_coins": 9500,
"rolling_48h_wager_coins": 0,
"rolling_48h_payout_coins": 0,
"global_wager_coins": 10000,
"global_payout_coins": 9800,
"wanted": false,
"triggered": false,
"selected_tier": "0x"
}
]
},
{
"name": "池不足仍消费已结算轮次资格",
"passed": true,
"summary": "首抽池=49不足支付200x资格尝试后pending=false补池到20000再抽也不会复用旧资格",
"data": {
"after_top_up_without_new_closed_round": {
"selected_tier": {
"id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 1000000,
"jackpot": false,
"enabled": true
},
"payout_coins": 0,
"pool_after_coins": 20000,
"stage": "novice",
"jackpot": false,
"consumed_milestone_token": false,
"next_state": {
"pool_balance_coins": 20000,
"consecutive_zero_draws": 2,
"pending_milestone_tokens": 0,
"user_daily_jackpot_wins": 0,
"user_day_spend_coins": 20,
"global_rtp": {
"wager_coins": 10000,
"payout_coins": 9800
},
"user_round_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"user_48h_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"settled_round_pending": false,
"qualification_closed_at_ms": 360000000,
"user_registered_at_ms": 187200000,
"user_day_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"user_72h_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"version": 2
},
"trace": {
"stage": "novice",
"pool_before_coins": 20000,
"pool_contribution_coins": 0,
"available_pool_coins": 20000,
"effective_risk_capacity_coins": 9223372036854775807,
"weights": [
{
"tier_id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 1000000,
"raw_adjusted_weight_ppm": 1000000,
"adjusted_weight_ppm": 1000000,
"factors": [
{
"name": "zero_remainder",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "200x",
"multiplier_ppm": 200000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "500x",
"multiplier_ppm": 500000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
}
],
"draws": [
{
"sequence": 1,
"kind": "original",
"tier_id": "0x",
"multiplier_ppm": 0,
"weight_ppm": 1000000,
"payout_coins": 0
}
],
"removed": null,
"conditions": [
{
"name": "settled_round_qualification",
"passed": false,
"reason": "no_closed_round_pending"
},
{
"name": "global_rtp",
"numerator": 9800,
"denominator": 10000,
"ratio_ppm": 980000,
"limit_ppm": 980000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_round_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_registered_48h",
"numerator": 172800000,
"denominator": 172800000,
"passed": true,
"reason": "registered_48h"
},
{
"name": "user_48h_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "daily_jackpot_limit",
"limit_ppm": 5,
"passed": true,
"reason": "below_limit"
}
],
"original_tier_id": "0x",
"final_reason": "zero_selected",
"milestone_token_consumed": false,
"milestone_token_retained": false,
"milestone_tokens_earned": 0
}
},
"pool_blocked_attempt": {
"selected_tier": {
"id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 1000000,
"jackpot": false,
"enabled": true
},
"payout_coins": 0,
"pool_after_coins": 49,
"stage": "novice",
"jackpot": false,
"consumed_milestone_token": false,
"next_state": {
"pool_balance_coins": 49,
"consecutive_zero_draws": 1,
"pending_milestone_tokens": 0,
"user_daily_jackpot_wins": 0,
"user_day_spend_coins": 10,
"global_rtp": {
"wager_coins": 10000,
"payout_coins": 9800
},
"user_round_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"user_48h_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"settled_round_pending": false,
"qualification_closed_at_ms": 360000000,
"user_registered_at_ms": 187200000,
"user_day_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"user_72h_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"version": 1
},
"trace": {
"stage": "novice",
"pool_before_coins": 49,
"pool_contribution_coins": 0,
"available_pool_coins": 49,
"effective_risk_capacity_coins": 9223372036854775807,
"weights": [
{
"tier_id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 1000000,
"raw_adjusted_weight_ppm": 1000000,
"adjusted_weight_ppm": 1000000,
"factors": [
{
"name": "zero_remainder",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "200x",
"multiplier_ppm": 200000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "500x",
"multiplier_ppm": 500000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
}
],
"draws": [
{
"sequence": 1,
"kind": "original",
"tier_id": "0x",
"multiplier_ppm": 0,
"weight_ppm": 1000000,
"payout_coins": 0
}
],
"removed": [
{
"tier_id": "200x",
"reason": "pool_insufficient_w_gt_p"
},
{
"tier_id": "500x",
"reason": "pool_insufficient_w_gt_p"
},
{
"tier_id": "1000x",
"reason": "pool_insufficient_w_gt_p"
}
],
"conditions": [
{
"name": "settled_round_qualification",
"passed": true,
"reason": "closed_round_pending"
},
{
"name": "global_rtp",
"numerator": 9800,
"denominator": 10000,
"ratio_ppm": 980000,
"limit_ppm": 980000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_round_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_registered_48h",
"numerator": 172800000,
"denominator": 172800000,
"passed": true,
"reason": "registered_48h"
},
{
"name": "user_48h_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "daily_jackpot_limit",
"limit_ppm": 5,
"passed": true,
"reason": "below_limit"
},
{
"name": "payable_jackpot_candidate",
"passed": false,
"reason": "no_payable_jackpot_candidate"
}
],
"original_tier_id": "0x",
"final_reason": "zero_selected",
"blocked_reason": "no_payable_jackpot_candidate",
"milestone_token_consumed": false,
"milestone_token_retained": false,
"milestone_tokens_earned": 0
}
}
}
},
{
"name": "大奖集合",
"passed": true,
"summary": "池足时大奖集合覆盖200/500/1000x=trueP=4999时只可能200x=map[200x:40]",
"data": {
"pool_10000_counts": {
"1000x": 16,
"200x": 66,
"500x": 38
},
"pool_4999_counts": {
"200x": 40
}
}
},
{
"name": "日5次上限",
"passed": true,
"summary": "5个独立已结算轮次命中后计数=5第6个轮次受日上限阻断且该轮资格仍按一次尝试消费",
"data": {
"sixth": {
"selected_tier": {
"id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 600000,
"jackpot": false,
"enabled": true
},
"payout_coins": 0,
"pool_after_coins": 987000,
"stage": "novice",
"jackpot": false,
"consumed_milestone_token": false,
"next_state": {
"pool_balance_coins": 987000,
"consecutive_zero_draws": 1,
"pending_milestone_tokens": 0,
"user_daily_jackpot_wins": 5,
"user_day_spend_coins": 60,
"global_rtp": {
"wager_coins": 10000,
"payout_coins": 9800
},
"user_round_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"user_48h_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"settled_round_pending": false,
"qualification_closed_at_ms": 381600000,
"user_registered_at_ms": 187200000,
"user_day_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"user_72h_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"version": 6
},
"trace": {
"stage": "novice",
"pool_before_coins": 987000,
"pool_contribution_coins": 0,
"available_pool_coins": 987000,
"effective_risk_capacity_coins": 9223372036854775807,
"weights": [
{
"tier_id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 600000,
"raw_adjusted_weight_ppm": 600000,
"adjusted_weight_ppm": 600000,
"factors": [
{
"name": "zero_remainder",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "5x",
"multiplier_ppm": 5000000,
"base_weight_ppm": 200000,
"raw_adjusted_weight_ppm": 200000,
"adjusted_weight_ppm": 200000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "50x",
"multiplier_ppm": 50000000,
"base_weight_ppm": 150000,
"raw_adjusted_weight_ppm": 150000,
"adjusted_weight_ppm": 150000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "200x",
"multiplier_ppm": 200000000,
"base_weight_ppm": 40000,
"raw_adjusted_weight_ppm": 40000,
"adjusted_weight_ppm": 40000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "500x",
"multiplier_ppm": 500000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"base_weight_ppm": 10000,
"raw_adjusted_weight_ppm": 10000,
"adjusted_weight_ppm": 10000,
"factors": [
{
"name": "identity",
"factor_ppm": 1000000
}
]
}
],
"draws": [
{
"sequence": 1,
"kind": "original",
"tier_id": "200x",
"multiplier_ppm": 200000000,
"weight_ppm": 40000,
"payout_coins": 2000,
"removed_reason": "daily_jackpot_limit"
},
{
"sequence": 2,
"kind": "redraw",
"tier_id": "0x",
"multiplier_ppm": 0,
"weight_ppm": 600000,
"payout_coins": 0
}
],
"removed": [
{
"tier_id": "200x",
"reason": "daily_jackpot_limit"
}
],
"conditions": [
{
"name": "settled_round_qualification",
"passed": true,
"reason": "closed_round_pending"
},
{
"name": "global_rtp",
"numerator": 9800,
"denominator": 10000,
"ratio_ppm": 980000,
"limit_ppm": 980000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_round_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_registered_48h",
"numerator": 194400000,
"denominator": 172800000,
"passed": true,
"reason": "registered_48h"
},
{
"name": "user_48h_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "daily_jackpot_limit",
"numerator": 5,
"limit_ppm": 5,
"passed": false,
"reason": "daily_jackpot_limit"
}
],
"original_tier_id": "200x",
"redraw_tier_ids": [
"0x"
],
"final_reason": "zero_selected",
"milestone_token_consumed": false,
"milestone_token_retained": false,
"milestone_tokens_earned": 0
}
}
}
},
{
"name": "六维risk capacity代表边界",
"passed": true,
"summary": "单次/用户小时/用户日/设备日/房间小时/主播日六维均验证W=capacity可赔、W=capacity+1硬阻断",
"data": {
"anchor_day": {
"below_capacity_payout": 0,
"equal_capacity_payout": 50,
"pass": true
},
"device_day": {
"below_capacity_payout": 0,
"equal_capacity_payout": 50,
"pass": true
},
"room_hour": {
"below_capacity_payout": 0,
"equal_capacity_payout": 50,
"pass": true
},
"single_draw": {
"below_capacity_payout": 0,
"equal_capacity_payout": 50,
"pass": true
},
"user_day": {
"below_capacity_payout": 0,
"equal_capacity_payout": 50,
"pass": true
},
"user_hour": {
"below_capacity_payout": 0,
"equal_capacity_payout": 50,
"pass": true
}
}
},
{
"name": "充值分层",
"passed": true,
"summary": "normal/advanced同时达到7日与30日下限才提档任一维低于normal即使非零也是novice",
"data": {
"boundary_rows": [
{
"recharge_7d": 99,
"recharge_30d": 499,
"stage": "novice"
},
{
"recharge_7d": 100,
"recharge_30d": 499,
"stage": "novice"
},
{
"recharge_7d": 99,
"recharge_30d": 500,
"stage": "novice"
},
{
"recharge_7d": 100,
"recharge_30d": 500,
"stage": "normal"
},
{
"recharge_7d": 500,
"recharge_30d": 2000,
"stage": "advanced"
}
],
"thresholds": [
{
"name": "novice",
"min_recharge_7d_coins": 0,
"min_recharge_30d_coins": 0
},
{
"name": "normal",
"min_recharge_7d_coins": 100,
"min_recharge_30d_coins": 500
},
{
"name": "advanced",
"min_recharge_7d_coins": 500,
"min_recharge_30d_coins": 2000
}
]
}
},
{
"name": "组合优先级",
"passed": true,
"summary": "优先级=已结算轮次资格\u003e普通P/W/第6抽大奖池不足时资格消费本抽仅赔可支付5x",
"data": {
"all_eligible": {
"selected_tier": {
"id": "1000x",
"multiplier_ppm": 1000000000,
"base_weight_ppm": 10000,
"jackpot": true,
"jackpot_weight": 1,
"enabled": true
},
"payout_coins": 10000,
"pool_after_coins": 0,
"stage": "advanced",
"jackpot": true,
"jackpot_mechanism": "rtp_compensation",
"consumed_milestone_token": false,
"next_state": {
"pool_balance_coins": 0,
"consecutive_zero_draws": 0,
"pending_milestone_tokens": 0,
"user_daily_jackpot_wins": 1,
"user_day_spend_coins": 10,
"global_rtp": {
"wager_coins": 10000,
"payout_coins": 9800
},
"user_round_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"user_48h_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"settled_round_pending": false,
"qualification_closed_at_ms": 360000000,
"user_registered_at_ms": 187200000,
"user_day_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"user_72h_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"version": 1
},
"trace": {
"stage": "advanced",
"pool_before_coins": 10000,
"pool_contribution_coins": 0,
"available_pool_coins": 10000,
"effective_risk_capacity_coins": 9223372036854775807,
"weights": [
{
"tier_id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 600000,
"raw_adjusted_weight_ppm": 600000,
"adjusted_weight_ppm": 692000,
"factors": [
{
"name": "zero_remainder",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "5x",
"multiplier_ppm": 5000000,
"base_weight_ppm": 200000,
"raw_adjusted_weight_ppm": 154000,
"adjusted_weight_ppm": 154000,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
},
{
"tier_id": "50x",
"multiplier_ppm": 50000000,
"base_weight_ppm": 150000,
"raw_adjusted_weight_ppm": 115500,
"adjusted_weight_ppm": 115500,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
},
{
"tier_id": "200x",
"multiplier_ppm": 200000000,
"base_weight_ppm": 40000,
"raw_adjusted_weight_ppm": 30800,
"adjusted_weight_ppm": 30800,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
},
{
"tier_id": "500x",
"multiplier_ppm": 500000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
},
{
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"base_weight_ppm": 10000,
"raw_adjusted_weight_ppm": 7700,
"adjusted_weight_ppm": 7700,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
}
],
"draws": [
{
"sequence": 1,
"kind": "jackpot_mechanism_1",
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"weight_ppm": 1,
"payout_coins": 10000
}
],
"removed": null,
"conditions": [
{
"name": "settled_round_qualification",
"passed": true,
"reason": "closed_round_pending"
},
{
"name": "global_rtp",
"numerator": 9800,
"denominator": 10000,
"ratio_ppm": 980000,
"limit_ppm": 980000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_round_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_registered_48h",
"numerator": 172800000,
"denominator": 172800000,
"passed": true,
"reason": "registered_48h"
},
{
"name": "user_48h_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "daily_jackpot_limit",
"limit_ppm": 5,
"passed": true,
"reason": "below_limit"
},
{
"name": "payable_jackpot_candidate",
"passed": true,
"reason": "payable_jackpot_selected"
}
],
"final_reason": "rtp_compensation_jackpot",
"jackpot_mechanism": "rtp_compensation",
"milestone_token_consumed": false,
"milestone_token_retained": false,
"milestone_tokens_earned": 0
}
},
"special_pool_blocked": {
"selected_tier": {
"id": "5x",
"multiplier_ppm": 5000000,
"base_weight_ppm": 200000,
"jackpot": false,
"enabled": true
},
"payout_coins": 50,
"pool_after_coins": 0,
"stage": "advanced",
"jackpot": false,
"consumed_milestone_token": false,
"next_state": {
"pool_balance_coins": 0,
"consecutive_zero_draws": 0,
"pending_milestone_tokens": 0,
"user_daily_jackpot_wins": 0,
"user_day_spend_coins": 10,
"global_rtp": {
"wager_coins": 10000,
"payout_coins": 9800
},
"user_round_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"user_48h_rtp": {
"wager_coins": 10000,
"payout_coins": 9500
},
"settled_round_pending": false,
"qualification_closed_at_ms": 360000000,
"user_registered_at_ms": 187200000,
"user_day_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"user_72h_rtp": {
"wager_coins": 0,
"payout_coins": 0
},
"version": 1
},
"trace": {
"stage": "advanced",
"pool_before_coins": 50,
"pool_contribution_coins": 0,
"available_pool_coins": 50,
"effective_risk_capacity_coins": 9223372036854775807,
"weights": [
{
"tier_id": "0x",
"multiplier_ppm": 0,
"base_weight_ppm": 600000,
"raw_adjusted_weight_ppm": 600000,
"adjusted_weight_ppm": 692000,
"factors": [
{
"name": "zero_remainder",
"factor_ppm": 1000000
}
]
},
{
"tier_id": "5x",
"multiplier_ppm": 5000000,
"base_weight_ppm": 200000,
"raw_adjusted_weight_ppm": 154000,
"adjusted_weight_ppm": 154000,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
},
{
"tier_id": "50x",
"multiplier_ppm": 50000000,
"base_weight_ppm": 150000,
"raw_adjusted_weight_ppm": 115500,
"adjusted_weight_ppm": 115500,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
},
{
"tier_id": "200x",
"multiplier_ppm": 200000000,
"base_weight_ppm": 40000,
"raw_adjusted_weight_ppm": 30800,
"adjusted_weight_ppm": 30800,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
},
{
"tier_id": "500x",
"multiplier_ppm": 500000000,
"base_weight_ppm": 0,
"raw_adjusted_weight_ppm": 0,
"adjusted_weight_ppm": 0,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
},
{
"tier_id": "1000x",
"multiplier_ppm": 1000000000,
"base_weight_ppm": 10000,
"raw_adjusted_weight_ppm": 7700,
"adjusted_weight_ppm": 7700,
"factors": [
{
"name": "low_water",
"factor_ppm": 700000
},
{
"name": "recent_recharge",
"factor_ppm": 1100000
}
]
}
],
"draws": [
{
"sequence": 1,
"kind": "original",
"tier_id": "5x",
"multiplier_ppm": 5000000,
"weight_ppm": 154000,
"payout_coins": 50
}
],
"removed": [
{
"tier_id": "200x",
"reason": "pool_insufficient_w_gt_p"
},
{
"tier_id": "500x",
"reason": "pool_insufficient_w_gt_p"
},
{
"tier_id": "1000x",
"reason": "pool_insufficient_w_gt_p"
},
{
"tier_id": "0x",
"reason": "miss_protection_excludes_zero"
}
],
"conditions": [
{
"name": "settled_round_qualification",
"passed": true,
"reason": "closed_round_pending"
},
{
"name": "global_rtp",
"numerator": 9800,
"denominator": 10000,
"ratio_ppm": 980000,
"limit_ppm": 980000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_round_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "user_registered_48h",
"numerator": 172800000,
"denominator": 172800000,
"passed": true,
"reason": "registered_48h"
},
{
"name": "user_48h_rtp",
"numerator": 9500,
"denominator": 10000,
"ratio_ppm": 950000,
"limit_ppm": 960000,
"passed": true,
"reason": "within_limit"
},
{
"name": "daily_jackpot_limit",
"limit_ppm": 5,
"passed": true,
"reason": "below_limit"
},
{
"name": "payable_jackpot_candidate",
"passed": false,
"reason": "no_payable_jackpot_candidate"
}
],
"original_tier_id": "5x",
"final_reason": "paid",
"blocked_reason": "no_payable_jackpot_candidate",
"milestone_token_consumed": false,
"milestone_token_retained": false,
"milestone_tokens_earned": 0
}
}
}
},
{
"name": "并发/幂等模型",
"passed": true,
"summary": "32个同幂等键仅1次状态迁移100个并发唯一键串行化为100个版本且池余=300",
"data": {
"duplicate": {
"errors": [],
"requests": 32,
"transitions": 1,
"version": 1
},
"unique": {
"errors": [],
"pool_after": 300,
"requests": 100,
"transitions": 100,
"version": 100
}
}
},
{
"name": "长跑分群",
"passed": true,
"summary": "novice/normal/advanced各30000抽分层权重不同但三组资金RTP均\u003c=98%且守恒",
"data": [
{
"expected_stage": "novice",
"observed_stage": "novice",
"draws": 30000,
"tier_counts": {
"0.5x": 3036,
"0x": 3062,
"1x": 23902
},
"payout_coins": 2542000,
"pool_after": 398000,
"rtp_percent": 84.73333333333333
},
{
"expected_stage": "normal",
"observed_stage": "normal",
"draws": 30000,
"tier_counts": {
"0.5x": 1507,
"0x": 1598,
"1x": 25370,
"2x": 1525
},
"payout_coins": 2917350,
"pool_after": 22650,
"rtp_percent": 97.245
},
{
"expected_stage": "advanced",
"observed_stage": "advanced",
"draws": 30000,
"tier_counts": {
"0.5x": 1224,
"0x": 1802,
"1x": 25190,
"2x": 1784
},
"payout_coins": 2937000,
"pool_after": 3000,
"rtp_percent": 97.89999999999999
}
]
}
],
"all_passed": true
}