四个相互独立的虚拟余额
每个账户持有四个虚拟余额,每个币种一个。它们完全相互独立: 永远不会混合,也永远不会自动换算。GET /v1/balances 始终返回全部四个余额(尚未使用的币种返回零),
金额均为十进制字符串:
在内部,每笔金额都以其币种的最小单位(微 USDT、聪、微克)存储为整数,
并使用精确的有理数运算进行计算。不存在浮点数,也不存在累积的舍入误差。
选择用哪个余额付款
出款与服务费(KYC、钱包创建、银行服务)可以从您四个余额中的 任意一个扣款。定价流程不变:操作始终以 USDT 报价,最后再按当时的 有效结算价格将总额换算为所选资产。- 账户级默认值:调用
PUT /v1/settlement并传入{"default_settlement_asset": "BTC"}。此后,每笔出款与服务费都从 BTC 余额中扣除(前提是该余额足以覆盖金额;不会级联到其他余额)。 - 单笔操作覆盖:在
POST /v1/payouts(或 QR confirm)中发送settlement_asset,即可仅用另一个余额支付该笔操作,而不改动默认设置。
GET /v1/rates 的 settlement 区块显示每个资产的有效价格(已含点差),
供您在操作前估算;出款响应中会记录 settlement_asset、
settlement_amount 和 settlement_rate 以供审计。
available 与 held
每个余额都有自己的两个计数器:
当您创建出款或提现时,扣款金额(
amount + fee)会离开
available 并停留在 held 中,直到操作到达最终状态:
completed→ 冻结被消耗;资金已转出。failed→ 全部扣款(金额 + 手续费)退回available。
外汇换算(法币 ↔ USDT)
法币操作在执行时按您账户的汇率换算为 USDT(即GET /v1/rates 返回的汇率,以 USD 为基准):出款使用 rate,
收款使用 payin_rate。换算在扣款时向上取整,在入账时
向下取整,差额最多为 1 微 USDT。
示例 — 一笔 50,000 CLP 的出款,汇率为 950.25:
payin_rate 为 955.10:
fx_rate)以供审计。
参考价格与结算价格
GET /v1/rates 包含一个 asset_prices 区块,提供每个币种的
USD 参考价格(BTC 按单位、GOLD 按克;USDT 和 USDC 约定为 1),
用于在界面上为您的余额估值;还包含一个 settlement 区块,提供
若您用该资产支付某笔操作时余额将按其估值的有效价格(已含点差):
settlement_grade: true 表示价格足够新鲜,可用于执行操作;若变为
false,以该资产付款将返回 503 pricing_unavailable,直到价格恢复。
不可变账本
每笔资金变动都会产生一条不可变的账目记录,并带有变动后的余额 (balance_after),以变动所属币种计。您的完整历史记录位于
GET /v1/movements(可用 ?asset= 按币种筛选):
/v1/movements、/v1/payouts、/v1/payins、
/v1/crypto/transactions、/v1/banking/operations)都支持分页
(page、page_size 最大 200)以及 from/to 日期筛选
(YYYY-MM-DD,UTC,闭区间)。
操作状态
出款与加密货币提现遵循相同的生命周期: 最终状态(completed/failed)通过 webhook 送达;
无需轮询。