Files
crypto_monitor/docs/账户流水.md
T
2026-08-10 09:51:45 +08:00

2.8 KiB
Raw Blame History

账户流水(三所统一)

交易所 API拉取资金账户与交易账户账单,在实例内展示。
不使用程序本地 transfer_logs 作为主数据源。

能力概览

说明
导航 「账户流水」Tab;默认关闭,在 系统设置 → 导航显示 打开
Tab 资金账户 / 交易账户
分页 每页 10 条,时间倒序
时间窗 跟随顶栏 UTC 预设(与列表 list_window 一致)
同步 后台约 120s 拉一次交易所;完成后 SSE 推版本,前端自动刷新
币种 USDTOKX 另含 USDC
三所 Binance / OKX / Gate 同一套 UI 与路由

使用

  1. 系统设置 → 导航显示 → 勾选「账户流水」→ 保存
  2. 顶栏选预设时间并点「应用」
  3. 打开「账户流水」,切换资金/交易 Tab;可点「立即同步」

API

路由 说明
GET /api/account_ledger?account=funding|trading&page=1 按当前 session 时间窗分页查询缓存
GET /api/account_ledger/stream SSEevent: ledger,载荷含 ledger_version
POST /api/account_ledger/refresh 手动触发同步(有冷却,默认 30s

均需登录(与实例其他 API 相同)。

交易所数据源

资金账户 交易账户
Gate spot account_bookUSDT USDT 永续 account_book
OKX asset/billsUSDT+USDC account/bills + bills-archiveUSDT+USDC
Binance 充提 + fetch_transfersUSDT U 本位 fapi incomeUSDT

后台默认回看 90 天ACCOUNT_LEDGER_LOOKBACK_DAYS),写入本地 SQLite 缓存后再按顶栏时间窗过滤展示。
「全部 / 近 6 月」等超出回看窗口的部分,仅能看到缓存内数据。

环境变量(可选)

变量 默认 说明
ACCOUNT_LEDGER_POLL_SEC 120 后台轮询秒数
ACCOUNT_LEDGER_LOOKBACK_DAYS 90 拉取与手动同步上限天数
ACCOUNT_LEDGER_MANUAL_COOLDOWN_SEC 30 手动同步冷却
ACCOUNT_LEDGER_SSE_HEARTBEAT_SEC 25 SSE 心跳

代码位置

lib/account_ledger/           # DB / 同步 / SSE / 注册 / 面板
lib/exchange/*_ledger_lib.py  # 三所拉取适配
lib/common/static/account_ledger.js

三所 app.py 调用:install_account_ledger(..., exchange_key=...)

审计摘要(2026-08-10

  • 路由均 @login_requiredSSE 仅推版本号,不含账单正文
  • SQL 参数化;account 白名单;币种服务端固定
  • 前端表格字段 escapeHtml
  • 已修复:手动同步强制套用 lookback 上限 + 冷却,避免滥用刷交易所 API

详见同目录旁注或 PR 说明;安全复查子代理结论:修复后无未关闭的中高危项。