Get Transaction Details
Request
GET https://custody-example-url/custody/v1/api/projects/{b_id}/wallets/{wallet_code}/tx-details
[!NOTE|style:flat] If you filter transactions by
order ID
and receive empty data, it may be because the order has not been completed. Only orders with statusFINISHED
orPARTIALLY_FAILED
have atransaction hash (tx_id)
; orders with other statuses do not contain any transaction hash.
Recommended API Call Sequence
This is a suggested order for checking the progress and result after submitting an API order.
For other use cases, such as checking deposits, reconciling transactions, or verifying asset balances, this sequence does not necessarily apply.
1. GET Order Details API (check order_no)
|
v
2. Is status Order Status FINISHED or PARTIALLY_FAILED?
- Yes → Proceed to step 3
- No → Skip transaction details request
|
v
3. GET Transaction Details API (b_id, wallet_code, etc.)
|
v
4. View transaction data.
Parameters
Field | Type | Description |
---|---|---|
b_id | Long | Business line ID |
wallet_code | String | Wallet ID |
coin_name Optional |
String | Asset name. Allowed value: Refer to Cactus Symbol (For API) column in Supported Token |
tx_types Optional |
String[] | Transaction types |
addresses Optional |
String[] | Addresses |
id Optional |
String | Wallet detail item ID |
tx_id Optional |
String | Transaction hash |
order_no Optional |
String | Order ID |
offset Optional |
Integer | Default: 0 |
limit Optional |
Integer | Default: 10 |
create_time_order Optional |
Integer | Sort by creation time: 0 = descending (default), 1 = ascending |
start_time Optional |
Long | Start timestamp (default: 0 ) |
end_time Optional |
Long | End timestamp (default: current time) |
Response
Field | Type | Description |
---|---|---|
code | Integer | Response code |
message | String | Response message |
successful | Boolean | Indicates if the request was successful |
data | Object | Wallet detail object |
└─ offset | Integer | Offset value |
└─ limit | Integer | Limit value |
└─ list | Object[] | List of wallet detail records |
└── id | String | Record ID |
└── domain_id | String | Enterprise ID |
└── wallet_code | String | Wallet ID |
└── wallet_type | String | Wallet type (MIXED_ADDRESS or SEGREGATED_ADDRESS ) |
└── coin_name | String | Asset name |
└── order_no | String | Order ID |
└── block_height | Long | Block height |
└── confirm_ratio | String | Confirmation ratio |
└── tx_id | String | Transaction hash |
└── tx_size | Long | Transaction size (default: 1 ) |
└── tx_type | String | Business type — allowed values: WITHDRAW, DEPOSIT, PREFUND_DEPOSIT, MINER_REWARD, FEE_PAYMENT, ADVANCED_FEE, CONSOLIDATION, DEPOSIT_ROLLBACK, WITHDRAW_CREDIT, WITHDRAW_FAILED, WITHDRAW_CANCELED, WITHDRAW_REFUND, REBASE |
└── withdraw_amount | Decimal | Withdrawal amount |
└── gas_price | Decimal | Gas price (ETH series) |
└── gas_limit | Decimal | Gas limit (ETH series) |
└── tx_fee | Decimal | Transaction fee |
└── tx_fee_rate | Decimal | Transaction fee rate (withdrawal) |
└── tx_fee_type | String | Transaction fee type (withdrawal) |
└── miner_reward | Decimal | Block reward (deposit) |
└── miner_fee | Decimal | Miner fee reward (deposit) |
└── deposit_amount | Decimal | Total deposit amount |
└── wallet_balance | Decimal | Wallet balance |
└── tx_status | String | Transaction status — allowed values: unconfirmed , confirmed , failed , frozen , rollbacked , unconfirmed_alarm |
└── remark_detail | String | Remarks |
└── tx_time_stamp | Long | Transaction timestamp |
└── create_time_stamp | Long | Creation timestamp |
└── extended_info | Object | Additional extended info |
└─── domain_coin_balance | Decimal | Domain coin balance |
└─── attachments | Object | Attachments |
└── vins | Object[] | List of input transactions (VINs) |
└─── address | String | VIN address |
└─── idx | String | VIN ID |
└─── tag | String | VIN memo |
└─── amount | Decimal | VIN amount |
└─── balance | Decimal | Balance after transaction |
└─── is_change | Long | Indicates if VIN is change |
└─── desc | String | VIN description |
└── vouts | Object[] | List of output transactions (VOUTs) |
└─── address | String | VOUT address |
└─── idx | String | VOUT ID |
└─── tag | String | VOUT memo |
└─── amount | Decimal | VOUT amount |
└─── balance | Decimal | Balance after transaction |
└─── is_change | Integer | Indicates if VOUT is change |
└─── desc | String | VOUT description |
└─ total | Integer | Total number of records |
Response Example
{
"code": 0,
"message": "",
"data": {
"offset": 9,
"limit": 10,
"list": [
{
"id": 2187,
"domain_id": "a5b3f782c4e24c688eca60946442a75f",
"wallet_code": "CHBTC6731708813",
"wallet_type": "SEGREGATED_ADDRESS",
"coin_name": "BTC",
"block_height": 1691839,
"tx_id": "617e02248e1620b6d5a65a531fc8fcbb412c2e34c840be048add18215e49e94e",
"tx_size": 293,
"tx_type": "DEPOSIT",
"tx_fee": 590,
"deposit_amount": 300000,
"wallet_balance": 20309373,
"extended_info": {
"domain_coin_balance": 500073396381,
"attachments": null
},
"tx_status": "confirmed",
"vins": [
{
"address": "mnxUp4iXgSrAhHEipDjH5pkZMhVPSDqUjK",
"idx": 1,
"is_change": 0
}
],
"vouts": [
{
"address": "mnxUp4iXgSrAhHEipDjH5pkZMhVPSDqUjK",
"idx": 1,
"amount": 300000,
"balance": 18219851,
"is_change": 1,
"desc": ""
}
],
"tx_time_stamp": 1585539864000,
"create_time_stamp": 1585539503000,
"bid": "ed70ff75b1fe4994a3bd836befe0e87f"
}
],
"total": 1
},
"successful": true
}