Enterprise PRD · Withdrawal

CEX 提現模組

三級審核、風控防線、冷熱錢包與四眼放款

本文件範圍說明

原《CEX 中心化錢包產品 PRD》涵蓋 9 大模組。為驗證企業版 skill 的輸出品質,本文件只取「提現」單一模組用企業版格式重寫到 AC / Edge Case 等級。數值沿用原文,原文未明訂者標 Open Q

01文件資訊

Document TitleCEX 提現模組 — 產品需求文件
Owner / StatusProduct · Draft
Versionv0.1(源自原 CEX PRD v1.0, 2023-07-12)
ReviewersEngineering · QA · Risk/Compliance · 財務 · Security
Related原 CEX PRD §2.1/§5.5/§6.2 · 冷熱錢包 TDD · AML 政策

02Executive Summary

解決什麼問題:提現是交易所資金風險最高、最不可逆的路徑,要在「用戶順暢出金」與「擋住盜領、洗錢、內部舞弊」之間取得平衡。

目標使用者:已完成 KYC 的用戶(發起);風控、財務、Security(審核與放款)。

本期核心:三級金額審核、KYC/2FA/白名單前置防線、新地址冷靜期、熱錢包簽名放款、冷錢包四眼多簽、每日對帳。

03背景與問題定義

[已 KYC 的用戶][需把資產提領到鏈上地址] 的情境下, 因為 [提現一旦上鏈即不可逆,是盜領/洗錢/內部舞弊首要攻擊面], 需要 [一套兼顧體驗與多層防線的出金流程], 否則導致 [用戶資產被盜、平台承擔賠付與法遵風險]

不處理的代價

  • 無冷靜期與白名單 → 盜號後即時提空,平台賠付。
  • 無四眼與對帳 → 內部人員可單方挪用,事後無法舉證。

04目標與成功指標

指標定義TargetWindow
小額自動放行率<$1,000 自動完成 / 全部小額≥ 98%
中額審核時效$1k–$10k 規則審核 P95< 3 min
大額審核 SLA>$10k 人工於 2h 內完成≥ 95%
每日對帳差異鏈上餘額 vs 帳本= 0
提現爭議率用戶申訴 / 提現總筆數< 0.5%

05使用者與情境

User Type目標痛點權限
用戶快速安全出金冷靜期等待、審核不透明發起提現、管白名單
風控攔異常、審中大額誤殺 vs 漏放審核、凍結(需覆核)
財務放款、對帳冷錢包補充耗時放款提交(需覆核)
Security冷錢包多簽金鑰分片協調3/5 多簽

主要情境:盜號後嘗試提領至新地址

  • Main Path(防線生效):新地址觸發 24h 鎖定 → 大額進人工 → 異常行為(新設備+新地址+大額)風險分升高 → 攔截 + 通知本人
  • Failure Path:若攻擊者早已加白名單且過冷靜期 → 依賴 2FA 與提現前 Email 確認為最後防線

06Scope

In Scope

  • 提現前置檢查(KYC 等級、2FA、白名單、餘額、密碼變更冷卻)
  • 三級金額審核(自動 / 規則 / 人工)
  • 新地址 24h 鎖定、24h 累計限額(按 KYC 等級)
  • 熱錢包簽名放款、冷錢包補充四眼多簽
  • 提現風控評分(含 AML 鏈上來源)、每日對帳

Out of Scope

不做原因 / 移至
內部劃轉、站內轉帳屬資產劃轉模組
法幣出金(銀行電匯)另一模組(不同法遵)
冷錢包 MPC 自動化原文 Phase 3

Phase Boundary

階段包含不包含
MVP三幣種 · 三級審核 · 白名單 · 熱錢包放款 · 冷錢包手動多簽多幣種擴充 · MPC 自動化
Phase 2多幣種 · 進階行為風控(ML)子帳戶

07Assumptions / Open Questions / Decision Log

Decision Log(沿用原文既定規格)

ID決策規格來源
D-01三級金額審核<$1k 自動;$1k–$10k 規則(3min);>$10k 人工(2h)§5.5
D-02新地址冷靜期新增地址首次提現鎖定 24h§5.5
D-0324h 累計限額按 KYC(Lv1 ≤2 BTC/日、Lv2 ≤100 BTC/日)§1.1
D-04密碼變更冷卻改密碼後 24h 禁止提現§6.2
D-05多重驗證2FA(Google Auth + Email/SMS)+ 防釣魚碼§6.2
D-06冷熱錢包熱 2–5%、冷 95–98%;冷錢包 3/5 多簽§6.4
D-07後台四眼凍結/手動出金/調限額需 Maker-Checker§6.5
D-08每日對帳鏈上餘額 vs 帳本,差異即時告警§6.4

Open Questions(原文未明訂)

ID問題Owner
Q-01「24h 累計限額」是滾動視窗還是自然日(UTC)?滾動視窗防繞過較佳風控
Q-02提現手續費固定還是隨 gas 動態?誰吸收波動?Product/財務
Q-03金額精度與捨入方向?尾差歸屬?Eng/財務
Q-04提現 pending 超時的用戶側處理與客服 SOP?Ops

08Dependencies

類型依賴Fallback
內部資產帳本(凍結/扣款,複式記帳)凍結失敗則不進放款
內部風控引擎(規則 + ML,取嚴格值)不可用 → 全轉人工
內部熱/冷錢包簽名服務熱錢包不足 → 冷錢包補充(四眼)
外部AML 鏈上分析(Chainalysis/Elliptic)不可用 → 大額一律人工
外部區塊鏈節點(廣播/確認)異常 → 暫停廣播 + 告警

09Roles & Permissions

操作用戶風控財務Security
發起提現 / 管白名單
審核中/大額提現
熱錢包放款提交✅(需覆核)
凍結帳號 / 調限額✅ 提交覆核
冷錢包補充提交✅ 3/5 多簽
角色邊界

本節定義「誰能做什麼」屬產品要求。RBAC 實作、Session 機制屬工程技術決策,不在本 PRD 指定(原 CEX 文件將這些寫進 PRD;企業版 skill 建議移至 TDD——差異見文末)。

10後台安全控制清單(金融級)

存取 / 身分驗證層

控制規格
IP 白名單後台僅限公司固定 IP + VPN
2FA / GA 綁定後台強制 TOTP,首次登入強制綁定
登入錯誤凍結連續 5 次失敗 → 凍結 30 分鐘 + 告警
Session 政策閒置 15 分登出、絕對逾時 8 小時

操作授權層(核心)

控制規格
高風險二次驗證手動出金、調限額、凍結需再輸入 OTP
Maker-Checker 四眼手動出金/凍結/調限額,提交者不得自審(§6.5)
覆核門檻大額(>$10k)強制覆核;冷錢包補充需 3/5
覆核 SLA2h 內未處理 → 升級告警,不自動放行

稽核層

控制規格
不可竄改 Audit Log審核/放款/凍結記操作者/時間/前後值/來源 IP,寫入獨立審計庫(§6.5)
即時告警大額出金、對帳差異、異常提現即時告警
定期權限盤點每月複查,離職即時撤銷(§6.5)

11Functional Requirements

11.1 商業規則

Rule名稱條件系統行為Pri
R-01前置檢查發起提現依序 KYC → 2FA → 餘額 → 白名單 → 密碼冷卻,任一不過即擋並提示原因最高
R-02三級審核通過前置後依金額分流<$1k 自動;$1k–$10k 規則(3min);>$10k 人工(2h)最高
R-03新地址鎖定目標為 24h 內新增地址拒絕直到冷靜期滿
R-0424h 累計限額近 24h + 本次 > KYC 上限擋單,提示升 KYC 或次日再試
R-05密碼冷卻最近改密碼 < 24h禁止提現
R-06凍結後放款放款前凍結金額(複式記帳)凍結成功才進簽名;失敗整筆回退最高
R-07熱錢包不足熱錢包餘額 < 本次觸發冷錢包補充(3/5),轉 pending 不失敗
R-08AML 來源評分命中高風險(混幣器/制裁)凍結 + 人工複查,不放行最高

11.2 Acceptance Criteria

ACRuleGiven / When / ThenEdge CasesPri
AC-01R-03 Given 用戶 10:00 新增地址 X,現為同日 20:00
When 對地址 X 發起提現
Then
① 拒絕,提示「將於隔日 10:00 解鎖」
② 記錄冷靜期攔截稽核
=24h 邊界(放行);刪除後再加是否重置(Open Q);以 UTC 計 P0
AC-02R-04 Given Lv1 上限 2 BTC,近 24h 已提 1.9
When 再提 0.2
Then
① 1.9+0.2=2.1 > 2,擋單
② 提示升 Lv2 或次日
=2 BTC(放行);滾動或自然日(Q-01);跨幣種換算 BTC 計價 P0
AC-03R-06 Given 餘額 5 ETH、提現 3 ETH 已審核
When 放款、凍結 3 ETH
Then
① 帳本 available -3、frozen +3(同事務)
② 凍結成功才構建簽名廣播
③ 確認後 frozen -3 並寫流水(TxHash)
重複提交(冪等鍵);凍結成功但簽名失敗要回退;廣播成功但確認超時(Q-04);併發搶同餘額 P0
AC-04R-02 Given 金額 $9,999,規則審核通過
When 3 分鐘內完成規則審核
Then
① 自動進放款
② 逾 3 分鐘未決 → 轉人工 + 告警
=$10,000 應走人工(> 界定);幣價換算 USD 時點;引擎不可用全轉人工 P0
AC-05R-07 Given 熱錢包 1 BTC、用戶提現 3 BTC
When 放款偵測不足
Then
① 轉 pending(不失敗)
② 觸發冷錢包補充(3/5)
③ 到位後自動續放 + 通知
多簽長時間未湊齊的 pending 上限與告警;補充期間新提現排隊;部分補充 P1

12User / System Flow

Actor:用戶/風控/財務 Entry:資產頁 → 提現 Related AC:AC-01~05

發起提現前置檢查(R-01) KYC · 2FA · 餘額 · 白名單 · 密碼冷卻 ├─ 任一不過 → 擋單 + 提示原因地址/限額檢查(R-03/04) 新地址 24h · 累計限額 · AML(R-08) ├─ 命中 → 拒絕 / 凍結人工複查三級審核(R-02) ├─ <$1k → 自動放行 ├─ $1k–$10k → 規則(3min) ─逾時→ 人工 └─ >$10k → 人工佇列(2h · 四眼)凍結 + 簽名放款(R-06/07) ├─ 熱錢包足 → 簽名廣播 └─ 不足 → 冷錢包補充(3/5多簽) → 續放 ▼ 鏈上確認 → 更新狀態 + Push + 寫流水(TxHash) ▼ 每日對帳(D-08) 鏈上 vs 帳本,差異告警

13Screen / System States(提現表單)

State規格 / 訊息進入條件
Empty尚無白名單地址 → 引導先新增用戶無已存地址
Loading拉取餘額/手續費/限額中,送出鈕 disabled開啟提現頁
Normal顯示可用餘額、手續費、實際到帳、當日剩餘限額資料就緒
Success已提交,顯示狀態追蹤(審核中/廣播中/已完成)提交成功
Error明確標示被哪條規則擋(新地址/超限/密碼冷卻/AML),附解法R-01~08 觸發
Boundary逼近當日限額顯示剩餘;低於最小提現額提示接近門檻
Permission DeniedKYC 等級不足 → 引導升級KYC 未達
Disabled改密碼 24h 內,提現鈕禁用並說明解鎖時間R-05
關鍵

被擋時必須明確告知「踩了哪條線 + 何時/如何解除」,不可只顯示「提現失敗」——這是提現爭議率的頭號來源。

14Data & Integration

  • 複式記帳:每筆提現 = available→frozen→debit 三段,均在 DB 事務內(SELECT FOR UPDATE),杜絕超發。
  • 冪等:提現請求需冪等鍵,重複提交只執行一次(見 AC-03)。
  • Source of Truth:帳本為餘額真相;account_balance 為可重建的快取。
  • 精度/捨入:各幣種精度與捨入方向需統一定義(Q-03)。
  • 對帳:每日鏈上餘額 vs 帳本,差異即時告警(D-08)。

15Non-functional Requirements

類別需求
一致性資金操作絕對一致、不可超發、冪等;凍結與扣款不可漏
時效中額審核 P95 <3min;大額 2h SLA ≥95%
Security符合 §10 全部;提現簽名服務與冷錢包分離部署
Audit全鏈路可追溯、log 不可竄改
可用性提現服務 ≥99.9%;節點異常可降級(暫停廣播不丟單)

16Analytics & Observability

  • 告警:對帳差異、大額出金、熱錢包低水位、AML 命中、審核 SLA 逾時、pending 堆積。
  • 監控:異常提現樣態(新設備+新地址+大額、改密碼後行為)、單帳號高頻提現。
  • Runbook:對帳差異 → 凍結相關提現並人工核;熱錢包不足 → 補充 SOP;節點異常 → 暫停廣播。

17Risk & Mitigation

風險手法對策等級
盜號提領盜 session 後提空新地址 24h + 大額人工 + 改密碼冷卻 + 提現前 Email 確認P0
內部舞弊員工單方挪用四眼 + 冷錢包 3/5 多簽 + 不可竄改稽核P0
洗錢提領至混幣器/制裁地址AML 評分 + 高風險凍結人工 + SARP0
超發/併發併發提現搶同餘額複式記帳 + 行鎖 + 冪等鍵P0
限額繞過拆單多筆規避 24h 限額滾動視窗累計(待 Q-01)P1
熱錢包枯竭大額集中提現低水位告警 + 冷錢包補充 + pending 不丟單P1

18Rollout / Migration / Rollback

  • Rollout:先開小額自動放行 + 白名單,觀察對帳零差異後再開中大額;灰度邀請制。
  • Rollback:對帳差異或異常提現暴增 → 一鍵切「全部轉人工」(feature flag),不停用戶提交、只暫停自動放行。
  • Feature flag:自動放行 / AML / 冷錢包自動補充 各自獨立可控。

19MVP / Complexity

複雜度

只標低/中/高,不做人天估算。

子模組產品邏輯整合風險綜合
前置檢查 + 三級審核中高
凍結/放款/帳本一致性
冷熱錢包 + 多簽補充
AML + 風控評分
提現表單前端

20UAT & Release Readiness

  • ☐ 每條 AC 的 Given 含具體數值、QA 可建前置
  • ☐ 邊界值覆蓋(=24h、=限額、=$10,000 界定)
  • ☐ 冪等/併發:重複提交、搶餘額以測試驗證
  • ☐ 凍結成功但簽名失敗的回退路徑驗證
  • ☐ 熱錢包不足 → 冷錢包補充 → 續放全鏈路
  • ☐ 四眼覆核:提交者無法自審
  • ☐ 每日對帳零差異、告警可觸發
  • ☐ 被擋提現的錯誤訊息明確可解
給 Sean 的 skill 驗證重點

① 原文規則被拆成 R-xx + AC + Edge Case 後有沒有逼出原文沒寫的洞(=$10,000 走哪級、拆單繞限額、凍結成功簽名失敗要回退)。② 企業版把 DB schema、Go/Rust 選型、K8s 排除在 PRD 外(角色邊界)——你的 PRD 該不該含技術選型?③ §10 後台安全有沒有你實務上會再加的控制。