這不是某個平台的一次性活動 — 而是給 B 端客戶辦活動用的引擎。社群報銷 / VIP 級別挑戰賽 / 每日排行榜三大模組,CEX 與 DEX 客戶都能掛載。獎池大小、活動規則、發放邏輯每個客戶按自己預算與市場調整。我們提供引擎、反作弊、業績計算與排行榜後端 — 客戶決定玩多大。
這是 H5 活動頁的高保真原型 — 你可以切換首頁、社群報銷、VIP 挑戰賽、排行榜四個頁面。所有互動元素皆可點擊(進度條、倒數計時、Tab 切換等)。
完成三項條件 + 上傳素材 = 500 USDT 報銷
60 天內升 3 級,獨享 30,000 USDT 獎勵
Top10 瓜分 5,000 USDT · T+1 自動發放
這不是一個「拉新活動」 — 是一個用 100K USDT 預算精準打三種用戶的成長引擎。下方五個區塊是我做這個產品時真正交付的東西。
這不是某個平台「自己辦」的活動 — 是給 B 端客戶辦活動用的引擎。CEX 與 DEX 客戶都能掛載。我們提供活動架構、反作弊、業績計算與排行榜後端,客戶決定獎池大小、活動規則、發放邏輯。廣告怎麼打、用戶從哪來、CAC 多少 — 那是 B 端客戶自己的業務,我們不過問也算不到。
客戶上線交易所或錢包後,下一個焦慮:新用戶從哪來?老用戶怎麼留? 純靠 KOL 發單帶量成本高、生命週期短;發空投又容易養出撸毛黨;單做一個大型獎勵活動,預算很快被頭部用戶吃光,散戶完全沒感覺。
客戶試過的方法都有問題:
所以我把活動設計成「三個互不衝突的子模組 + 同一個業績計算引擎 + 統一反作弊」的套件。客戶可以全裝、可以只裝其中一兩個,獎池大小完全自訂:
| 參數 | 參考設計(v1) | 客戶可調空間 |
|---|---|---|
| 三大模組要開哪些 | 全開 | 可單開、雙開、全開 |
| 單期總獎池 | 100K USDT | 完全自訂(無下限) |
| 單日獎池上限 | 5K USDT | 完全自訂 |
| VIP 挑戰賽分期 | 40 / 30 / 30(共 3 期) | 可改 50/50、20/30/50、一次發完 |
| 排行榜刷新頻率 | 5 分鐘 | 1 / 5 / 15 / 60 分鐘 |
| 社群報銷審核 | 1~3 工作天人工 | 必須人工,SLA 可改 |
| 反作弊嚴格度 | 4 維聯合判定 | 可關閉部分維度 |
| 業績計算規則 | 新增投資 − 撤資 − 提現 | 可自訂指標(如純交易量、純入金量) |
客戶簽約後,我會帶他做一場「活動設計 workshop」 — 根據他的預算、用戶結構、市場習慣,調出他要的三模組組合與參數。同一套引擎,對 CEX 客戶跑交易量排行、對 DEX 客戶跑 TVL 排行,業績計算規則參數化切換即可。
傳統做法是「一個活動讓所有人都來玩」 — 結果三種人都覺得不適合自己。我選擇相反路線:三種用戶 × 三個活動 × 三套激勵邏輯。
我學到的事:拉新活動不是「越大越好」,是「越精準越好」。一個 100K 大池吸引不到 KOL(覺得自己拿不到頭獎),也吸引不到散戶(覺得跟自己無關)。三個池子各打一群人,每群人都覺得「這個活動是為我設計的」。
| 方案 | 用戶涵蓋 | 留存設計 | 反作弊 | 主要痛點 |
|---|---|---|---|---|
| 客戶自建活動 | ~10%(只發 Top) | ❌ 發完就走 | ⚠️ 弱 | 91% 用戶沒參與感、要自己養工程 |
| 純空投腳本 | ~100%(人人有份) | ❌ 撸毛黨為主 | ❌ 無 | 留存接近 0 |
| 單一排行榜 | ~20%(活躍用戶) | ⚠️ 一週後退潮 | ⚠️ 弱 | KOL 與散戶都沒打到 |
| 我們(活動引擎) | ~80% 用戶(三模組分流) | ✅ 分期釋放鎖定 | ✅ 四維反作弊 | —(B 端不用自建活動工程團隊) |
我們的差異化:不是「給用戶獎勵」,是「給 B 端客戶一個能精準分流、能自動防作弊、能參數化客製的活動引擎」。客戶想辦多大、想瞄準誰、要不要分期釋放 — 都可以調。客戶買的不是某次活動,是一份隨時能用、能改參數重複辦的引擎。
| 指標 | 目標 | 意義 |
|---|---|---|
| 活動建檔到上線時間 | UI 無大改:~4 小時 UI 大改 + 加動畫:~1 天 | 引擎已沉澱,主要時間花在 UI 確認;遇過客戶要重做 UI 加動畫,工程實作就會拉長 |
| 排行榜計算延遲 P99 | < 30 秒 | 5 分鐘刷新節奏的工程承諾 |
| 異常帳號攔截率 | > 95% | 反作弊系統的核心 KPI |
| 誤判率(誤殺正常用戶) | < 1% | 反作弊不能太嚴變得有用戶被冤枉 |
| 人工審核 SLA | < 24 小時 | 社群報銷的 KOL 信任 |
| 系統可用性(SLA) | ≥ 99.95% | 活動期間不能掛掉 |
| 指標 | 目標 | 意義 |
|---|---|---|
| 每月使用引擎辦活動的客戶數 | ≥ 簽約客戶 80% | 引擎被閒置代表沒解決客戶問題 |
| 客戶重複辦活動次數 | ≥ 3 次/季 | 第一次辦完還會再辦,代表有效 |
| 客戶在三模組中的選裝組合 | —(觀察) | 了解 CEX vs DEX 客戶各偏好哪種活動 |
| 客戶活動參數調整頻率 | —(觀察) | 確認「可參數化」這個賣點被用到 |
三個活動互不衝突 — 同一個用戶只參與「對自己最有利」的那個,不會三個都搶。
驗證方法:活動結束後分析數據,>70% 用戶集中參與一個活動。若三個活動用戶高度重疊代表分流失敗。
分期釋放(40/30/30)+ 業績下滑追回機制,能讓拉來的用戶留至少 60 天。
驗證方法:VIP 挑戰賽參與者 60 天後留存 > 50%,業績下滑 ≥50% 追回案例 < 10%。
四維反作弊(設備指紋 / IP / KYC / 行為模式)能攔住 95% 以上的刷帳號。
驗證方法:活動結束抽樣 1000 帳號人工複核,異常帳號漏報率 < 5%。
單一大活動是「省事」的方案,但用戶分群差異太大不能用同一套激勵。我選擇拆成三個獨立活動 — 開發成本高 1.5 倍,但用戶覆蓋率從 ~20% 拉到 ~80%,預算 ROI 更高。決策關鍵:開發成本 vs 用戶覆蓋率,後者更值得投資。
即時刷新最有臨場感,但後端壓力暴增 + 高頻 query 容易被刷。每小時刷新沒有緊張感,用戶不會頻繁回來看。5 分鐘是測試過 1/5/15/60 分鐘四個選項後的結論 — 既有競爭感,後端壓力又可控。
一次性發放:用戶達標立刻贖回離場,活動結束 TVL 暴跌。分 3 期(40 / 30 / 30)+ 業績下滑追回:強迫用戶持續維持業績才能拿完獎金。這是「鎖長期承諾」的設計,比「直接發錢」對平台健康度更好。
其他兩個活動都是系統自動發獎。社群報銷不行 — 必須人工審核活動真實性。AI 生成的活動影片、PS 的合照、湊人頭照片,自動審核擋不住。寧可發獎慢 24 小時,也不能讓平台預算被假活動掏空。這是「對的事情 > 體驗順暢」的選擇。
以下技術方案由我主導定義 — 從市場調研、PRD 到原型皆一手完成;工程團隊負責實作落地。在還沒有 AI 工具的年代,這些規格是我一頁一頁手寫、一張一張手畫出來的。
所有用戶幾乎同時在 5 分鐘整點刷新,後端壓力暴增。設計快取層(Redis sorted set)+ 排行榜計算 cron job 每 5 分鐘預算一次寫入 Redis,前端讀取 Redis 而非實時計算。
VIP 挑戰賽獎金 40/30/30 分 3 期,每期釋放前要檢查當下業績是否符合條件。設計 settlement_schedule 表記錄每筆獎金的釋放條件與檢查時間,cron job 每日掃描觸發釋放或追回。
同 IP + 同設備指紋 + 同 KYC 證件號 + 行為模式(註冊時間間隔 / 操作軌跡)四維度聯合判定。任一維度命中需人工複核,三維度命中自動凍結獎勵。
達標條件(全部滿足):
素材要求:活動影片(必須,≤200MB)+ 活動照片 ≥3 張(jpg/png,每張 ≤10MB)+ 品牌文宣露出截圖
獎勵:500 USDT,需人工審核(1~3 工作天),審核通過後 T+1 自動入帳。每期限申請 1 次,審核不通過可補件 1 次。
規則:當前等級 + 3 級 = 挑戰目標。當前需 ≥VIP1 才能參賽。
| 起始 | 目標 | 時限 | 獎勵 |
|---|---|---|---|
| VIP1 | VIP4 | 30 天 | 5,000 USDT |
| VIP2 | VIP5 | 45 天 | 10,000 USDT |
| VIP3 | VIP6 | 60 天 | 30,000 USDT |
| VIP4 | VIP7 | 90 天 | 80,000 USDT |
| VIP5 | VIP8 | 120 天 | 200,000 USDT |
獎勵釋放:達成目標等級時立即釋放 40%,30 天後釋放 30%(業績不得下滑 ≥30%),60 天後釋放最後 30%。下滑 ≥50% 即追回已發。
業績計算:當日新增投資 - 當日撤資 - 當日提現。存續時間 ≥24 小時的資金才計入。團隊內互轉、自充自投不計入。
統計時間:UTC+8 00:00:00 ~ 23:59:59,快照時間 23:59:59 鎖定。每 5 分鐘計算一次。最低門檻 ≥1,000 USDT 才能上榜。
| 排名 | 獎勵 USDT | 發放時間 |
|---|---|---|
| 第 1 名 | 2,000 | T+1 12:00 前 |
| 第 2 名 | 1,000 | T+1 12:00 前 |
| 第 3 名 | 500 | T+1 12:00 前 |
| 第 4~5 名 | 各 300 | T+1 12:00 前 |
| 第 6~10 名 | 各 200 | T+1 12:00 前 |
📌 每日獎池封頂 5,000 USDT,不累計至隔日。
{
"user_id": "u_abc123",
"nickname": "Kin***ng",
"vip_level": 3,
"team_performance_total": 52300,
"direct_referrals_count": 15,
"device_fingerprint": "fp_xxx", ← 防自刷
"registration_ip": "1.2.3.4", ← 防自刷
"kyc_status": "verified",
"kyc_id_hash": "sha256_xxx", ← 防多帳號
"created_at": "2026-01-15T08:00:00Z"
}
{
"record_id": "tp_001",
"user_id": "u_abc123",
"date": "2026-04-11",
"new_investment": 5000,
"withdrawal": 800,
"net_performance": 4200, ← 用於排行
"valid_new_users": 3, ← 用於報銷
"is_valid": true,
"risk_flags": []
}
{
"ranking_id": "dr_20260411",
"date": "2026-04-11",
"snapshot_time": "2026-04-11T23:59:59Z",
"rankings": [
{
"rank": 1,
"user_id": "u_abc123",
"net_performance": 42800,
"reward_usdt": 2000,
"reward_status": "pending" ← pending/paid/frozen
},
...
],
"total_pool": 5000
}
{
"application_id": "rm_001",
"user_id": "u_abc123",
"status": "under_review", ← draft/under_review/approved/rejected/paid
"conditions": {
"team_performance": { "required": 5000, "achieved": 3200, "met": false },
"new_users": { "required": 10, "achieved": 6, "met": false },
"activity_completed": false
},
"materials": {
"video_url": "https://...",
"photo_urls": ["url1", "url2", "url3"],
"brand_exposure_url": "https://..."
},
"review": {
"result": null,
"rejection_reason": null,
"resubmit_count": 0 ← 最多 1 次
},
"reward_amount": 500
}
{
"challenge_id": "vc_001",
"user_id": "u_abc123",
"start_vip": 3,
"target_vip": 6,
"reward_total": 30000,
"time_limit_days": 60,
"deadline": "2026-05-31T23:59:59Z",
"status": "in_progress", ← in_progress/completed/failed
"reward_releases": [
{ "phase": 1, "amount": 12000, "status": "locked" },
{ "phase": 2, "amount": 9000, "status": "locked" },
{ "phase": 3, "amount": 9000, "status": "locked" }
]
}
CREATE INDEX idx_team_perf_date_user ON team_performance(date, user_id); CREATE INDEX idx_team_perf_net ON team_performance(date, net_performance DESC); CREATE INDEX idx_user_device ON users(device_fingerprint); CREATE INDEX idx_user_ip ON users(registration_ip); CREATE INDEX idx_challenge_user ON vip_challenge(user_id, status); CREATE INDEX idx_challenge_deadline ON vip_challenge(deadline, status);
| 維度 | 規則 | 觸發動作 |
|---|---|---|
| 設備指紋 | 同一 device_fingerprint 註冊多帳號 | 僅保留首帳號,其餘不計入新增 |
| IP 地址 | 同 IP 24h 內註冊 ≥ 3 帳號 | 標記異常,人工審核 |
| KYC | 同一身份證/護照號碼 | 僅首帳號有效,重複註冊拒絕 |
| 行為模式 | 批量註冊時間間隔 < 30 秒 | 自動標記為機器人,全部不計入 |
| 規則 | 觸發條件 | 處理方式 |
|---|---|---|
| 異常波動 | 單日業績突增 ≥ 500% | 自動凍結排名,人工覆核 |
| 短時衝量 | 1 小時內集中大額入金 | 標記觀察,延遲計入 |
| 集中提現 | 上榜後 48h 內提現 ≥ 80% | 追回當期獎勵 |
| 多帳號協作 | 多帳號向同一上級集中投資 | 合併計算,異常帳號凍結 |
| 審核項目 | 合格標準 | 不合格處理 |
|---|---|---|
| 影片真實性 | 可辨識活動場地、參與者、時間 | 退回 + 允許補件 1 次 |
| 照片數量 | ≥ 3 張不同角度 | 退回 + 允許補件 |
| 品牌露出 | 可見品牌 LOGO / 名稱 | 退回 + 允許補件 |
| 參與人數 | 照片/影片可辨識 ≥ 5 名參與者 | 退回 |
| 素材時效 | 活動日期需在活動期間內 | 不合格,不可補件 |
| 素材原創 | AI 偵測 + 人工比對 | 永久取消資格 |
Level 1 輕微:單項異常指標 → 標記觀察,不影響正常使用。
Level 2 中度:多項異常或單項嚴重 → 凍結相關活動獎勵,發送人工覆核工單。
Level 3 嚴重:確認作弊或利用漏洞 → 取消活動資格 + 追回已發獎勵 + 帳號降級。
Level 4 封號:重複嚴重違規或涉及金融詐騙 → 永久封禁帳號 + 凍結所有資金。
前端: - React / Vue3 + Vite - TailwindCSS - 排行榜:Polling (5min interval) - 倒數計時:Server Time Sync 避免客戶端時間篡改 後端: - RESTful API + Rate Limiting - 排行榜計算:定時任務每 5 分鐘跑一次 SQL 聚合 - 快照機制:23:59:59 鎖定排名寫入 daily_ranking - 風控引擎:獨立微服務,事件流即時判斷 - 獎勵發放:排程任務 + 異步處理 + 冪等保護