Skip to content

交易状态 ​

交易对象的 status 是充值、提现、站内转账共用的对外状态(命名与 Fireblocks 一致),subStatus 给出补充原因。

状态一览 ​

status是否终态适用含义
SUBMITTED否提现已受理,资金已冻结,等待风控
PENDING_AML_SCREENING否提现反洗钱筛查中(预留:当前筛查在 SUBMITTED 阶段同步完成,一般不会出现)
PENDING_AUTHORIZATION否提现、站内转账等待租户或平台管理员审批(命中审批策略或反洗钱需复核)
QUEUED否提现已批准,排队等待签名执行
PENDING_SIGNATURE否提现签名中
BROADCASTING否提现已广播或正在广播,等待上链;也用于需要人工处理的异常(见 subStatus)
CONFIRMING否充值、提现已上链,等待确认 / 最终性
PENDING_REVIEW否充值充值被挂起,等待人工处理,未入账
COMPLETED是全部完成。充值需结合 subStatus 判断是否入账(见下)
CANCELLED是提现已取消,冻结资金已退回
REJECTED是提现、站内转账被风控或审批拒绝,冻结资金已退回
FAILED是充值、提现失败。提现的冻结资金已退回;充值未入账
REVERSED是充值已入账的充值因链重组被冲正
BLOCKED是—预留,当前不会出现(策略拦截体现为 REJECTED + BLOCKED_BY_POLICY)

终态与非终态

终态(COMPLETED、CANCELLED、REJECTED、FAILED、REVERSED)之后状态不再变化,唯一例外是已入账充值 COMPLETED → REVERSED。非终态之间不保证单调前进:例如提现在 BROADCASTING 时若交易过期未上链,会回到 QUEUED(subStatus = REBUILD_AFTER_EXPIRY)重新构建。

subStatus 取值 ​

subStatus出现于含义你方处理
null任意无补充信息—
BELOW_MIN_DEPOSIT充值 COMPLETED金额低于最小充值额,或不高于充值手续费,未入账不给用户加钱;如需找回联系平台
BELOW_DEPOSIT_FEE充值 COMPLETED预留(金额不高于充值手续费)。当前实现中该情况也显示为 BELOW_MIN_DEPOSIT同上
ASSET_DEPOSIT_PAUSED充值 PENDING_REVIEW资产暂停充值,转人工等待处理结果
WALLET_OR_NETWORK_HOLD充值 PENDING_REVIEW钱包冻结/关闭,或网络关闭自动入账,转人工等待处理结果
AML充值 PENDING_REVIEW反洗钱筛查未通过或需复核等待处理结果
not on canonical chain充值 FAILED交易失败或未进入主链(注意:此值为小写文本)无需处理
REORG充值 REVERSED原区块被替换,入账已冲正扣回已入账金额
AML_REVIEW提现 PENDING_AUTHORIZATION反洗钱需平台复核等待
AML_REJECTED提现 REJECTED反洗钱拒绝通知用户;资金已退回
BLOCKED_BY_POLICY提现 REJECTED被租户交易策略拦截资金已退回
REJECTED_BY_ADMIN提现 REJECTED审批人拒绝资金已退回
REJECTED_AFTER_REVIEW提现 REJECTED人工处理后拒绝(确认不会再上链)资金已退回
CANCELLED_BY_USER提现 CANCELLED通过取消接口取消资金已退回
INSUFFICIENT_FUNDS_PLATFORM提现 QUEUED平台热钱包余额暂不足,补充后自动继续等待;可取消
REBUILD_AFTER_EXPIRY提现 QUEUED上一笔链上交易过期未上链,已作废并重新构建等待(不会重复付款)
SIGNER_REFUSED提现 BROADCASTING签名服务拒绝签名,转人工处理等待;不可取消
MANUAL_REVIEW提现 BROADCASTING需要人工处理的执行异常等待;不可取消
EXECUTION_REVERTED提现 FAILED链上交易执行失败(回滚),未付款资金已退回,可重新发起

subStatus 可能新增取值,请把未知值当作“无需特殊处理”的补充信息。

充值状态流转 ​

text
CONFIRMING ──┬──▶ COMPLETED(subStatus = null,已入账)──▶ REVERSED(REORG,极少)
             ├──▶ COMPLETED(BELOW_MIN_DEPOSIT,未入账)
             ├──▶ PENDING_REVIEW(ASSET_DEPOSIT_PAUSED / WALLET_OR_NETWORK_HOLD / AML,未入账)
             └──▶ FAILED(未进入主链)
平台内部状态对外 statussubStatus
OBSERVED、VERIFIED、PENDING_AML、PENDING_FINALITYCONFIRMING—
CREDITEDCOMPLETED—
BELOW_MINIMUMCOMPLETEDBELOW_MIN_DEPOSIT
MANUAL_REVIEWPENDING_REVIEW原因(见上表)
REJECTED、ORPHANEDFAILED原因
REVERSING、REVERSEDREVERSEDREORG

提现状态流转 ​

text
SUBMITTED ──┬──▶ REJECTED(AML_REJECTED / BLOCKED_BY_POLICY)
            ├──▶ PENDING_AUTHORIZATION ──┬──▶ REJECTED(REJECTED_BY_ADMIN)
            │                            └──▶ QUEUED
            └──▶ QUEUED
QUEUED ──▶ PENDING_SIGNATURE ──▶ BROADCASTING ──▶ CONFIRMING ──┬──▶ COMPLETED
   ▲                                  │                         └──▶ FAILED(EXECUTION_REVERTED)
   └────── REBUILD_AFTER_EXPIRY ──────┘
BROADCASTING(SIGNER_REFUSED / MANUAL_REVIEW)──▶ 人工处理 ──▶ QUEUED 或 REJECTED(REJECTED_AFTER_REVIEW)
SUBMITTED / PENDING_AUTHORIZATION / QUEUED ──▶ CANCELLED(CANCELLED_BY_USER,调用取消接口)

提交响应与取消响应中的 state 字段是平台内部提现状态,对应关系如下(仅供排查,请以 status 为准):

内部 state对外 status默认 subStatus
REQUESTEDSUBMITTED—
PENDING_AML_SCREENINGPENDING_AML_SCREENING—
PENDING_AUTHORIZATIONPENDING_AUTHORIZATION—
APPROVEDQUEUED—
WAITING_FUNDSQUEUEDINSUFFICIENT_FUNDS_PLATFORM
SIGNING、SIGNEDPENDING_SIGNATURE—
BROADCASTING、UNKNOWNBROADCASTING—
PENDING_FINALITYCONFIRMING—
COMPLETEDCOMPLETED—
REJECTEDREJECTED—
CANCELLEDCANCELLED—
FAILED_FINALFAILED—
MANUAL_REVIEWBROADCASTINGMANUAL_REVIEW

状态变化时若带有具体原因(如 AML_REJECTED),subStatus 显示该原因,否则显示上表的默认值。

资金占用:提交成功即从可用余额冻结 amountRaw + feeRaw;COMPLETED 时扣除冻结;REJECTED、CANCELLED、FAILED 时全部退回可用余额。

站内转账状态流转 ​

text
(创建)──┬──▶ COMPLETED                     (通常:立即到账)
          └──▶ PENDING_AUTHORIZATION ──┬──▶ COMPLETED
                                      └──▶ REJECTED(冻结资金退回付款方)

站内转账的 subStatus 恒为 null。立即完成的站内转账只会推送一条 TRANSACTION_CREATED(data.status = COMPLETED),不会再有 TRANSACTION_STATUS_UPDATED。