Sign Contract Order - Cosmos Based Chains
[!NOTE|style:flat] Administrator is required to enable "Message Signing" under DeFi Account - Cosmos Ecosystem Whitelist Protection in order to perform this API call.
Request
POST https://custody-example-url/custody/v1/api/projects/{b_id}/wallets/{wallet_code}/signatures
Parameters
Field | Type | Description |
---|---|---|
b_id | String | Business line ID |
wallet_code | String | Defi Wallet ID |
order_no | String | Order number |
description Optional |
String | Description Size: 50 |
address | String | Address |
signature_version | String | Signature type Allowed values: signAmino, signDirect, signArbitrary |
payload | JsonNode | Signature information. Click here to view the formats for Cosmos-based chain |
chain | String | Cactus chain name Allowed Value: Refer to Cactus Network Symbol (For API) column in Supported Token |
[!tip|style:flat] Cosmos Signature Types
signature_version Description signAmino
Legacy JSON transaction signing signDirect
Protobuf (modern) transaction signing signArbitrary
Arbitrary data/message signing
Request Example
{
"address": "cosmos1qqp3t4zhpwxp8sjq9j7p42flf4z5r0u9ex7n3k",
"signature_version": "signAmino",
"payload": {
"account_number": "123",
"chain_id": "cosmoshub-4",
"fee": {
"amount": [
{ "denom": "uatom", "amount": "1000" }
],
"gas": "200000"
},
"memo": "Test transaction",
"msgs": [
{
"type": "cosmos-sdk/MsgSend",
"value": {
"from_address": "cosmos1...",
"to_address": "cosmos1...",
"amount": [
{ "denom": "uatom", "amount": "1000000" }
]
}
}
]
},
"chain": "COSMOS",
"order_no": "D00000000001",
"description": ""
}
[!NOTE|style:flat] To obtain the signed result, use the Get Transaction Details API and provide the
orderNo
. The result will be returned in thesigned_data
field.
Response Example
{
"code": 0,
"message": "",
"successful": true,
"data": {
"OrderNo": "D00000000001"
}
}