CCTP证明Pending怎么排查? 图 1
CCTP证明Pending怎么排查? · 图 1

CCTP 卡住时最危险的动作是“再转一次试试”。源链 burn、Iris 证明和目标链 mint 是三个独立阶段,404、pending、complete 也不是同一种故障。先定位停在哪一段,才能避免重复销毁或重复支付 Gas。

用响应状态定位卡点

  1. 先确认源链确实 Burn 成功:CCTP流程可拆为源链burn、等待确认与attestation、目标链receiveMessage三个阶段,每段都有独立交易或API证据。
  2. 读懂证明 API 的三种常见响应:证明API返回404、空messages或pending的含义不同;pending通常表示等待源链确认,不能直接重发burn。
  3. 有证明却不到账,就查 Mint:当证明已complete但余额未出现时,应检查目标链mint交易是否提交、是否失败以及nonce是否已使用。

先确认源链确实 Burn 成功

从交易回执核对 DepositForBurn 或 MessageSent 事件、burnToken、amount、destinationDomain 和 mintRecipient。交易失败就没有有效消息;交易成功但参数写错,也不能靠后续证明自动改收款人。保存事件中的 message bytes 或可查询主键。

何时请求re-attest

若 Fast 消息因目标接收方要求更高最终性而不能处理,Circle 提供 re-attest 路径用于请求更高等级证明。它与重新 burn 不同:前者围绕原 nonce 提升证明,后者会新建资金动作。是否可用仍要按当前 API 和消息状态判断。

读懂证明 API 的三种常见响应

短时间 404 可能表示服务尚未观察到交易,空 messages 表示尚无可返回记录,pending 表示正在等待所需确认。只有 complete 且带有 attestation 才能进入目标链提交。轮询应有退避和总时限,不能把所有非 200 都显示成资金丢失。

沿着原始Burn追完三段链路

  1. 固定原始 burn 交易,不创建第二笔。
  2. 按交易哈希查询消息状态,并保存每次状态、时间和返回内容。
  3. 取得 attestation 后验证它对应原 message,再构造目标链交易。
  4. 目标交易失败时按错误原因修复 Gas 或参数;再次提交同一有效消息前先检查 nonce。

有证明却不到账,就查 Mint

检查目标链是否真的提交 receiveMessage、交易是否因 Gas、过期、调用者限制或 nonce 已用而失败。成功回执还要核对铸币事件和最终余额;如果只拿到证明而没有目标交易哈希,问题在提交层,不在证明层。

四种情况先冻结操作

无法确认源链事件或 message 与 attestation 是否对应时停止;客服私信提供的“人工解锁地址”不能替代官方 API 与链上证据。

排障时打开哪些Circle页面

  1. Circle CCTP Docs:用于核对CCTP证明Pending排查的候选主题的一手字段、产品说明或事件发现。
  2. Circle Transfer Troubleshooting:用于核对CCTP证明Pending排查的实现路径、交叉验证或风险边界。

相关站内主题:跨链状态分层最终性核对。资料访问时间为2026-07-22;协议、接口、监管清单与产品界面均可能更新。

风险提示:排障期间重复Burn会创建新的资金动作,不能修复原消息。请只围绕已确认的交易、消息和Nonce操作,并从官方接口取得状态;陌生客服提供的解锁地址或代付请求均不属于正常CCTP恢复流程。