Skip to main content
即刻安装 Cobo WaaS Skill,在 Claude Code、Cursor 等 AI 开发环境中使用自然语言集成 WaaS API,显著提升开发效率 🚀
本文档规定了 TSS Node Callback服务器通信中使用的请求和响应 Payload 格式。

回调请求

回调请求由 TSS Node发送到回调服务器。

基本请求结构

字段类型描述
request_idstring回调请求的唯一 ID。
request_typeint回调请求的类型:
- TypePing (0):用于心跳监控
- TypeKeyGen (1):为您的 MPC 钱包创建新的私钥分片
- TypeKeySign (2):签署交易或消息
- TypeKeyReshare (3):在参与者之间重新分配私钥分片。
request_detailstring特定于请求类型的详细信息。结构根据请求类型而变化。内容是 JSON 序列化的字符串。
extra_infostring额外的上下文信息。结构根据请求类型而变化。内容是 JSON 序列化的字符串。

TypePing 请求

用于回调服务器的心跳监控。 如果您在配置 TSS Node设置时指定了 monitor_interval 参数,节点将定期发送请求以验证服务器可用性。
callback:
  monitor_interval: 1h # 监控间隔;如果为空,则禁用监控
对于 TypePing 请求,request_idrequest_detailextra_info 将是空对象。

TypeKeyGen 请求

用于私钥分片生成。

request_detail

字段类型描述
thresholdint此私钥分片持有者组中需要批准操作的私钥分片持有者数量。
node_idsarray[string]此私钥分片持有者组中私钥分片持有者的 TSS Node ID。
curveint根扩展公钥的椭圆曲线类型。可能的值:
0:Secp256k1
2:Ed25519。
task_idstring此密钥生成任务的唯一标识符。
biz_task_idstring对于此请求类型,此字段包含 TSS 请求 ID。

extra_info

字段类型描述
orgobject组织信息:
- org_id:字符串。组织的 ID。
- name:字符串。组织名称。
- created_timestamp:整数。组织的创建时间,以毫秒为单位的 Unix 时间戳格式。
projectobject项目信息。详情请参阅获取项目信息操作的响应。
vaultobjectVault信息。详情请参阅获取Vault信息操作的响应。
target_key_share_holder_groupobject私钥分片持有者组信息。详情请参阅获取私钥分片持有者组信息操作的响应。
tss_requestobjectTSS 请求信息。详情请参阅获取 TSS 请求操作的响应。

TypeKeySign 请求

用于交易或消息签名操作。

request_detail

字段类型描述
group_idstringTSS 私钥分片组 ID。
root_pub_keystring该组的根扩展公钥。
used_node_idsarray[string]参与签名的 TSS Node ID 列表。
bip32_path_listarray[string]BIP32 派生路径。
msg_hash_listarray[string]要签名的消息哈希列表。
tweak_listarray[string]要应用的调整列表。
signature_typeint要生成的签名类型。可能的值:
- 1:ECDSA 签名
- 2:EdDSA 签名
- 3:Schnorr 签名
tss_protocolintTSS 协议。可能的值:
- 1:GG18
- 2:Lindell
- 3:EddsaTSS
task_idstring此签名任务的唯一标识符。
biz_task_idstring对于此请求类型,此字段包含交易 ID。

extra_info

字段类型描述
orgobject组织信息:
- org_id:字符串。组织的 ID。
- name:字符串。组织名称。
- created_timestamp:整数。组织的创建时间,以毫秒为单位的 Unix 时间戳格式。
projectobject项目信息。详情请参阅获取项目信息操作的响应。
vaultobjectVault信息。详情请参阅获取Vault信息操作的响应。
walletobject钱包信息。详情请参阅获取钱包信息操作的响应。
signer_key_share_holder_groupobject签署交易的私钥分片持有者组的信息。详情请参阅获取私钥分片持有者组信息操作的响应。
source_addressesarray[object]交易源地址的信息。详情请参阅列出钱包地址操作的响应。
transactionobject要签名的交易信息。详情请参阅获取交易信息操作的响应。

TypeKeyReshare 请求

用于密钥reshare操作。reshare意味着使用现有的私钥分片持有者组为新组生成私钥分片。

request_detail

字段类型描述
old_group_idstring现有 TSS 私钥分片组的 ID。
root_pub_keystringVault的根扩展公钥。
curveint根扩展公钥的椭圆曲线类型。
0:Secp256k1
2:Ed25519。
used_node_idsarray[string]现有私钥分片持有者组的 TSS Node ID。
old_thresholdint使用的现有私钥分片持有者组的阈值。
new_thresholdint新私钥分片持有者组的阈值。
new_node_idsarray[string]新私钥分片持有者组的 TSS Node ID。
task_idstring此reshare任务的唯一标识符。
biz_task_idstring对于此请求类型,此字段包含 TSS 请求 ID。

extra_info

字段类型描述
orgobject组织信息:
- org_id:字符串。组织的 ID。
- name:字符串。组织名称。
- created_timestamp:整数。组织的创建时间,以毫秒为单位的 Unix 时间戳格式。
projectobject项目信息。详情请参阅获取项目信息操作的响应。
vaultobjectVault信息。详情请参阅获取Vault信息操作的响应。
source_key_share_holder_groupobject现有私钥分片持有者组的信息。详情请参阅获取私钥分片持有者组信息操作的响应。
target_key_share_holder_groupobject新私钥分片持有者组的信息。详情请参阅获取私钥分片持有者组信息操作的响应。
tss_requestobjectTSS 请求信息。详情请参阅获取 TSS 请求操作的响应。

回调响应

您的回调服务器必须使用以下结构响应所有回调请求:
字段类型描述
statusint响应状态码。0 表示成功。任何其他值表示在回调服务器处理请求时发生错误。
request_idstring回调请求的唯一 ID。
actionstring要采取的操作。可能的值:
- APPROVE:批准请求并继续操作
- REJECT:拒绝请求并停止操作
errorstring错误消息:
- 当 status 不为 0 时:包含回调服务器的内部错误消息。
- 当 status0 且 action 为 REJECT 时:包含拒绝的具体原因。

重要说明

  • 如果 TSS Node未能收到 HTTP 响应,它将重试回调请求。
  • 超过最大重试次数后,风险控制结果将被设置为 REJECT
  • 对于 TypePing 请求,需要成功响应(status = 0)以表明服务器可用。