Callback request
The callback request is sent from the TSS Node to the callback server.Base request structure
Field | Type | Description |
---|---|---|
request_id | string | The unique ID of the callback request. |
request_type | int | Type of the callback request: - TypePing (0): Used for heartbeat monitoring- TypeKeyGen (1): Creating new key shares for your MPC Wallets.- TypeKeySign (2): Signing transactions or messages.- TypeKeyReshare (3): Redistributing key shares among participants. |
request_detail | string | Details specific to the request type. The structure varies depending on the request type. The content is a JSON-serialized string. |
extra_info | string | Additional contextual information. The structure varies depending on the request type. The content is a JSON-serialized string. |
TypePing request
Used for heartbeat monitoring of the callback server. If you have specified themonitor_interval
parameter when configuring the TSS Node settings, the node will periodically send the request to verify server availability.
TypePing
requests, request_id
, request_detail
and extra_info
will be empty objects.
TypeKeyGen request
Used for key share generation.request_detail
Field | Type | Description |
---|---|---|
threshold | int | The number of key share holders required to approve operations in this key share holder group. |
node_ids | array[string] | The TSS Node IDs of the key share holders in this key share holder group. |
curve | int | The elliptic curve type of the root extended public key. Possible values: 0 : Secp256k12 : Ed25519. |
task_id | string | The unique identifier for this key generation task. |
biz_task_id | string | For this request type, this field contains the TSS request ID. |
extra_info
Field | Type | Description |
---|---|---|
org | object | The organization information: - org_id : String. The ID of the organization.- name : String. The organization name.- created_timestamp : Int. The organizationās creation time in Unix timestamp format, measured in milliseconds. |
project | object | The project information. For details, see the response of the Get project information operation. |
vault | object | The vault information. For details, see the response of the Get vault information operation. |
target_key_share_holder_group | object | The key share holder group information. For details, see the response of the Get key share holder group information operation. |
tss_request | object | The TSS request information. For details, see the response of the Get TSS request operation. |
TypeKeySign request
Used for transaction or message signing operations.request_detail
Field | Type | Description |
---|---|---|
group_id | string | The ID of the TSS key share group. |
root_pub_key | string | The root extended public key of the group. |
used_node_ids | array[string] | The list of TSS Node IDs participating in signing. |
bip32_path_list | array[string] | The BIP32 derivation paths. |
msg_hash_list | array[string] | The list of message hashes to sign. |
tweak_list | array[string] | The list of tweaks to apply. |
signature_type | int | The type of signature to generate. Possible values: - 1 : ECDSA signature- 2 : EdDSA signature- 3 : Schnorr signature |
tss_protocol | int | The TSS protocol. Possible values: - 1 : GG18- 2 : Lindell- 3 : EddsaTSS |
task_id | string | The unique identifier for this signing task. |
biz_task_id | string | For this request type, this field contains the transaction ID. |
extra_info
Field | Type | Description |
---|---|---|
org | object | The organization information: - org_id : String. The ID of the organization.- name : String. The organization name.- created_timestamp : Int. The organizationās creation time in Unix timestamp format, measured in milliseconds. |
project | object | The project information. For details, see the response of the Get project information operation. |
vault | object | The vault information. For details, see the response of the Get vault information operation. |
wallet | object | The wallet information. For details, see the response of the Get wallet information operation. |
signer_key_share_holder_group | object | The information of the key share holder group that signs the transaction. For details, see the response of the Get key share holder group information operation. |
source_addresses | array[object] | The information of the source addresses of the transaction. For details, see the response of the List wallet addresses operation. |
transaction | object | The information of the transaction to sign. For details, see the response of the Get transaction information operation. |
TypeKeyReshare request
Used for key resharing operations. Resharing means to use an existing key share holder group to generate key shares for a new group.request_detail
Field | Type | Description |
---|---|---|
old_group_id | string | The ID of the existing TSS key share group. |
root_pub_key | string | The root extended public key of the vault. |
curve | int | The elliptic curve type of the root extended public key. 0 : Secp256k12 : Ed25519. |
used_node_ids | array[string] | The TSS Node IDs of the existing key share holder group. |
old_threshold | int | The threshold value of the existing key share holder group used. |
new_threshold | int | The threshold value of the new key share holder group. |
new_node_ids | array[string] | The TSS Node IDs of the new key share holder group. |
task_id | string | The unique identifier for this resharing task. |
biz_task_id | string | For this request type, this field contains the TSS request ID. |
extra_info
Field | Type | Description |
---|---|---|
org | object | The organization information: - org_id : String. The ID of the organization.- name : String. The organization name.- created_timestamp : Int. The organizationās creation time in Unix timestamp format, measured in milliseconds. |
project | object | The project information. For details, see the response of the Get project information operation. |
vault | object | The vault information. For details, see the response of the Get vault information operation. |
source_key_share_holder_group | object | The information of the existing key share holder group. For details, see the response of the Get key share holder group information operation. |
target_key_share_holder_group | object | The information of the new key share holder group. For details, see the response of the Get key share holder group information operation. |
tss_request | object | The TSS request information. For details, see the response of the Get TSS request operation. |
Callback response
Your callback server must respond to all callback requests with the following structure:Field | Type | Description |
---|---|---|
status | int | The response status code. 0 indicates success. Any other value indicates that an error occurred while processing the request in the callback server. |
request_id | string | The unique ID of the callback request. |
action | string | Action to take. Possible values: - APPROVE : Approve the request and proceed with the operation- REJECT : Deny the request and stop the operation |
error | string | The error message: - When status is not 0 : Contains internal error messages from the callback server.- When status is 0 and action is REJECT : Contains the specific reason for the rejection. |
Important notes
- If the TSS Node fails to receive an HTTP response, it will retry the callback request.
- After exceeding the maximum retry attempts, the risk control result will be set to
REJECT
.
Feel free to share your feedback to improve our documentation!