거래소 UID 연동 상태 · 누적 페이백/거래대금 통계 · 거래내역 · 출금 신청. (표시 회원: 가상 계정 김하늘 · M001)
| 거래소 | 정산기간 | 거래대금 | 수수료 | 페이백 | 정산상태 |
|---|
| 신청일시 | 금액 | 네트워크 | 상태 |
|---|
거래소 API 목업 응답 수신 → 회원 매칭 → 멱등 정산. 멱등키 = (거래소, 회원UID, 정산기간) unique. 재수집·CSV 폴백이 같은 키 규칙을 타서 중복지급이 0임을 실제로 시연합니다.
API 장애·거래소 정책 변경 시 운영자가 CSV로 수수료 데이터를 올립니다. CSV분도 동일 멱등키 규칙을 타므로 API 재개 후 겹쳐도 이중지급되지 않습니다. (파일 업로드는 브라우저 내에서만 처리 — 외부 전송 없음. 실서비스에서는 엑셀 .xlsx도 동일 파서 계층으로 흡수)
| 거래소 | 회원 | UID | 기간 | 거래대금 | 수수료 | 요율 | 페이백 | 소스 | 멱등키 | 상태 |
|---|---|---|---|---|---|---|---|---|---|---|
| 거래소 API 수집을 실행하세요. | ||||||||||
거래소 선택 → UID 입력·형식 검증 → 이메일 본인인증(목업) → 레퍼럴 귀속 확인 → 매칭 결과. 공고의 "사용자 UID 입력 → 본인 인증 → 매칭 결과 출력" 흐름을 실제로 눌러 볼 수 있습니다.
실제 서비스에서는 회원 이메일로 일회용 코드를 발송합니다. 이 콘솔에서는 발송 코드가 화면에 표시됩니다.
거래소·UID·본인인증을 마치면 레퍼럴 귀속 판정 결과가 표시됩니다.
회원 정보 · 거래소별 UID 등록현황 · 매칭 상태를 조회·필터하고, 행을 눌러 상세를 봅니다. (모든 회원·UID는 가상 데이터)
| 회원ID | 이름 | 가입일 | KYC | 연동 거래소 | UID | 매칭상태 |
|---|
회원 출금 신청을 검토해 승인·반려하고 지급을 완료 처리합니다. 상태 전이: 대기 → 승인 → 완료, 또는 대기 → 반려(사유). (가상 신청·지갑주소)
| 신청ID | 회원 | 금액 | 네트워크 | 지갑주소 | 신청일시 | 상태 | 처리 |
|---|
관리자 정산 콘솔 원장과 실시간 연동됩니다 — 수집 전에는 API 초기 배치(5개 거래소 · 2026-W28) 스냅샷을, 수집·CSV 병합 후에는 라이브 원장을 동일 규칙(어댑터·멱등키)으로 집계합니다. 출금 지표는 출금 관리와 연동됩니다.
| 거래소 | 요율 | 건수 | 수수료 | 페이백 |
|---|
정산·출금·회원 매칭의 모든 상태 변경을 append-only로 기록합니다 — 누가·언제·무엇을 바꿨는지 되짚어 데이터 무결성과 추적성을 보장합니다. 다른 탭에서 정산 상태를 전이하거나 출금을 승인하면 여기에 즉시 append됩니다. (총 0건 · 가상)
| 시각 | 유형 | 대상 | 액션 | 행위자 | 상세 |
|---|
API 호출 수를 사용자 수가 아니라 (거래소 수 × 폴링주기)로 고정하는 마스터계정 배치 수집 + 거래소별 워커 큐 + rate limit 동시성 제어 + 멱등 UPSERT + append-only 원장.
정산 무결성의 핵심은 settlement_ledger의 UNIQUE(exchange, member_uid, period) 제약입니다 — 재수집·CSV 폴백이 겹쳐도 이 제약이 중복 정산을 DB 레벨에서 원천 차단합니다.
관계: members 1—N exchange_accounts · exchange_accounts.uid → settlement_ledger.member_uid(매칭) · members 1—N withdrawals. 정산 원장과 출금은 덮어쓰지 않고 상태만 전이하며, 모든 상태 변경은 audit_log에 append됩니다.
미매칭 UID·검증 실패 레코드는 검증완료로 넘어가지 못하고 수집완료에 잔류합니다(지급 차단 = 무결성 가드). 재수집이 이미 지급완료된 레코드를 만나도 멱등 UPSERT라 상태를 되돌리지 않습니다.
| 거래소 | 파트너/인증 | 응답 스키마 특징 | 수수료 단위 | Rate limit(공개 기준) |
|---|---|---|---|---|
| Binance | Api-Agent(apiAgentCode) | payload[].customerId·feeUsdt | USDT 문자열 | IP당 weight 예산제(초과 시 429/418) |
| Bybit | Affiliate(API key+마스터 UID) | result.list[].maker/takerFee | maker/taker 분리 → 합산 | 기본 IP당 5초 / 600건 |
| OKX | 파트너/브로커 (구현 가정) | data[].commission·ts(epoch ms) | USDT · epoch→기간 변환 | 엔드포인트별 요청 상한 |
| Bitget | 파트너 (구현 가정) | data[].feeCents(정수) | 센트(1/100) → USDT | 엔드포인트별 요청 상한 |
| Gate | 파트너 (구현 가정) | data.list[].fee.amount(중첩) | 중첩 객체 → amount 추출 | 엔드포인트별 요청 상한 |
Binance Api-Agent·Bybit Affiliate의 파트너 전제·Rate limit(IP weight·5초/600건)은 공개 문서 기준이고, OKX·Bitget·Gate 행의 파트너 구조·응답 스키마·수수료 단위는 이 구현의 목업 어댑터가 정규화하는 예시 형태입니다(실제 규격은 각 거래소 파트너 문서 확인 필요). 거래소마다 인증·필드명·수수료 단위·타임스탬프·호출 한도가 달라, 정산 로직이 거래소를 가리지 않도록 어댑터 계층에서 공통 정산 모델 {exchange, uid, period, volume, fee}로 정규화합니다.