充提币场景
SC-DW-001:TRON 链 USDT 充值
前置条件:
- 用户已注册,系统为其分配 TRON 独立充值地址(Turnkey 托管)
- 用户向该地址转账 $1,000 USDT TRC20
操作步骤:
- 链上区块扫描检测到入账交易
- 等待确认中(需 19 个确认)
- 第 19 个确认到达
- 记入用户 平台 内部余额 +$1,000
- 触发归集判断:该地址余额是否超过归集阈值
预期结果:
- 用户 平台 账户余额 +$1,000
- deposits 表记录:status=COMPLETED,confirmations=19
- balance_logs 记录:type = “deposit”
- 若地址余额 > 归集阈值 → 触发归集到热钱包
SC-DW-002:Ethereum 链充值 — 归集到热钱包
前置条件:
- 用户向 ETH 充值地址转账 $5,000 USDT ERC20
- 充值地址余额 $5,000 > 归集阈值 $2,000
操作步骤:
- 12 个 ETH 确认后,记入用户余额 +$5,000
- 触发归集判断:地址余额 $5,000 > 阈值 → 执行归集
- 平台从充值地址发起 ETH 链归集交易(消耗 ETH gas)
- USDT 转入平台 ETH 热钱包
预期结果:
- 用户账户余额 +$5,000(步骤 1 已记账,不依赖归集完成)
- aggregations 表写入归集记录
- 平台 ETH 热钱包余额增加 $5,000(归集完成后)
- Gas 费由平台承担
SC-DW-003:小额自动提现(< $10K,5 分钟保障)
前置条件:
- 用户 平台 可用余额 $5,000
- 用户发起提现 $2,000 USDT 到 TRON 地址
- TRON 热钱包余额 $300,000(充足)
操作步骤:
- 金额判断:$2,000 < $10,000 → 自动审核
- 风控规则通过(无黑名单、无频率异常)
- 2FA 验证通过
- 可用余额检查:$5,000 ≥ $2,000 ✓
- 热钱包余额检查:$300,000 充足 ✓
- 构建 TRON 链 USDT 转账交易
- 广播到链上
预期结果:
- 全流程 < 5 分钟完成
- 用户 平台 余额 -$2,000(剩余 $3,000)
- withdrawals 表记录:status=COMPLETED,processed_at < T+5min
- 热钱包余额 -$2,000
SC-DW-004:大额提现 — 人工审批流程
前置条件:
- 用户 平台 余额 $200,000
- 用户发起提现 $150,000 USDT
操作步骤:
- 金额判断:$150,000 > $100,000 → 风控审核 + 人工审批
- 风控人员在后台收到待审批通知
- 人工审核:核查用户 KYC、资金来源合规
- 审批通过 → 执行出金
预期结果:
- 全流程目标 < 2 小时
- 审批记录写入 audit_log(审批人、时间、IP)
- 出金完成:withdrawals.status=COMPLETED
SC-DW-005:热钱包余额不足 — 触发冷钱包补充
前置条件:
- ETH 热钱包余额 $80,000(低于紧急线 $100,000)
- 用户发起 $50,000 ETH 链提现
操作步骤:
- 热钱包余额检查:$80,000 不足以出金(需保留最低水位)
- 系统触发冷钱包补充流程
- 生成冷钱包转账提案(补充到目标水位)
- 风控负责人离线审批
- 审批通过 → 广播链上交易 → 等待确认
- 热钱包余额恢复 → 继续处理用户提现
预期结果:
- 用户提现进入等待队列,系统通知用户处理中
- 冷钱包补充到热钱包完成后,自动继续提现
- 全程有审计日志
SC-DW-006:提现风控拦截 — 频率异常
前置条件:
- 用户在过去 24 小时内已向同一地址提现 5 次
- 用户再次发起第 6 次提现 $500 到相同地址
操作步骤:
- 金额 $500 < $10,000 → 触发自动审核
- 风控规则:24 小时内同地址 > 3 次 → 频率异常
- 自动标记为可疑,转人工复核
预期结果:
- 提现请求状态 → PENDING_MANUAL_REVIEW
- 风控人员收到告警通知
- 用户账户 $500 暂时冻结
- 人工复核通过后继续出金,否则拒绝并释放余额