BitHide Public API
BitHide Public API
Version 2.2503.2
Table of Contents
Public API ..................................................................................................................... 2
Introduction .............................................................................................................. 2
Overview ................................................................................................................... 3
API methods.............................................................................................................. 3
Address .................................................................................................................. 3
Obtaining Address Information (POST /Address/Get) ......................................... 3
Creating a new Address (POST /Address/GetAddress) ........................................ 6
Currency ................................................................................................................ 8
Getting a list of currencies (POST /Currency/List) ............................................... 8
Wallet .................................................................................................................. 10
Getting Wallet information (POST /Merchant/Get) .......................................... 10
Report .................................................................................................................. 12
Getting Wallet balance (POST /Report/WalletBalance)..................................... 12
Transaction .......................................................................................................... 14
Getting the total Queued Transaction count (POST
/Transaction/QueuedTotalCount) ..................................................................... 14
Getting Transaction List (POST /Transaction/List) ............................................. 16
Withdraw Request (POST /Transaction/Withdraw)........................................... 22
Callback example .............................................................................................. 24
Introduction
This API guide describes a set of methods for interacting with the wallet. The API allows
you to create and view address information, get data about available wallet currencies,
balance and wallet data information, current queued transactions, and a list of
transactions. The API also provides the ability to withdraw funds if it is allowed in the
wallet settings on the client side. The API is designed for integration with various
systems and applications, ensuring secure and efficient data exchange.
To successfully interact with the API, you'll need the following essential components:
API URL:
The API URL serves as the endpoint for sending API requests. It includes the server
address and port (8645).
API Key:
Your API key for interacting with the API is a unique identifier for your wallet within the
application. Each wallet has its distinct key. You can find your API key in the application
on the "Wallets" page under the "API Key" column. To retrieve information specific to
a particular wallet, use the corresponding API key associated with that wallet.
• An API key is a unique identifier of the Wallet that grants access to your client
application's API endpoints.
• You can locate your API key within the client application on the "Wallets" page
under the "API Key" column.
• Copy your API key for use in API requests.
Callbacks:
Instant notifications upon detecting incoming transactions.
• This Backlink URL is the address on your side where the application will send
callbacks upon detecting incoming transactions.
• To receive callbacks notifying you of incoming transactions, you must set your
Backlink URL in the wallet settings in the client application (field Backlink).
2
API methods
Address
[Back to Table of Contents]
API Address Interaction
Topic Description
Obtaining Address Information Get information about the crypto
address.
Creating a new Address Create a new crypto address in your
wallet.
Responses:
• 200 Success:
o Description: Successful request
o Example response body:
{
"AddressesResponce": [
{
"Address": "string",
"Balance": 0,
"AvailableBalance": 0,
"Merchant": "string",
"MerchantId": 0,
"Label": "string",
"Created": "2024-05-20T12:29:21.075Z",
"LastTransactionDate": "2024-05-20T12:29:21.075Z",
"IncomingTransactionsCount": 0,
"OutgoingTransactionsCount": 0,
"Currency": "string",
"RiskScore": 0,
"LastCheckDate": "2025-04-02T08:45:47.479Z",
"IsActual": true
}
],
"Status": "string",
"ErrorCode": "string",
"ErrorMessage": "string",
"Error": {
"Code": "string"
}
}
Response parameters:
Parameter Type Description
AddressesResponce Array List of address info records
Address String Cryptocurrency address
Balance Number (double) Address balance
AvailableBalance Number (double) Available balance for withdrawal
Merchant String Address wallet name
MerchantId Integer (int64) Wallet ID
4
Response parameters:
Parameter Type Description
Code String Error code
AddInfo String Additional information
Exception String Exception
Request parameters:
Parameter Type
Req.? Description
ExternalId String
No User ID on your platform.
Currency String
Yes Currency symbol. Available options: BTC,
USTD-TRC20, TRX, ETH, USDT-ERC20.
New Boolean Yes False – use an existing address
True – create a new address
ExpectedAmount Number No Expected amount
CallBackLink String No Callback reference
AdditionalInfo String No It’s a deprecated field. Please use Label instead.
Label String No Address label
ApiKey String Yes Your API key can be found on your client
application's "Wallets" page under the "API
key" column.
PublicKey String Yes It’s a deprecated field. Please use ApiKey
instead.
Request example:
{
"ExternalId": "string",
"Currency": "string",
"New": true,
"ExpectedAmount": 0,
"CallBackLink": "string",
"AdditionalInfo": "string",
"Label": "string",
"ApiKey": "string"
}
Response parameters:
Parameter Type Description
Id Integer (int64) Address ID
ExternalId String Address external ID. It’s a deprecated field.
Please use Label instead.
Label String Address label
Address String Cryptocurrency address
Created String (date-time) Date and time the address was created
Status String Request execution status
ErrorCode String Error code
ErrorMessage String Error message
Error Object Error object
Code String Error code within the Error object
Currency
[Back to Table of Contents]
API Currency Interaction
Topic Description
Getting a list of currencies Retrieve information about the list of currencies
available in the wallet.
Request parameters:
Parameter Type Req.? Description
ApiKey String Yes Your API key can be found on your client application's
"Wallets" page under the "API key" column.
PublicKey String Yes It’s a deprecated field. Please use ApiKey instead.
Request example:
{
"ApiKey": "string"
}
Response parameters:
Parameter Type Description
Cryptocurrencies Array List of available currencies. Use Currency Symbol in
requests.
Id Integer Currency ID
(int64)
Symbol String Currency symbol
Name String Currency name
Status String Request execution status
ErrorCode String Error code
ErrorMessage String Error message
Error Object Error object
Code String Error code within the Error object
Wallet
[Back to Table of Contents]
API Wallet Interaction
Topic Description
Getting Wallet information Retrieve information about the wallet.
Request parameters:
Parameter Type Req.? Description
ApiKey String Yes Your API key can be found on your client application's
"Wallets" page under the "API key" column.
PublicKey String Yes It’s a deprecated field. Please use ApiKey instead.
Request example:
{
"ApiKey": "string"
}
10
Response parameters:
Parameter Type Description
Merchant Object An object containing wallet information
Id Integer (int64) Wallet ID
Name String Wallet name
Label String Optional Wallet label
PublicKey String Your API key can be found on your client
application's "Wallets" page under the
"API key" column.
CallBackLink String Callback reference
PublicWithdrawalIPs String List of trusted IP addresses for withdrawal
requests. (CIDR notation. Separated by
“;”)
IsArchive Boolean True – wallet is archived
False – wallet is not archived
Logo String Encoded picture of wallet logo
Modified String (date-time) Date and time the wallet modified last
time
Created String (date-time) Date and time the wallet was created
11
Response parameters:
Parameter Type Description
Code String Error code
Report
API Report Interaction
Topic Description
Getting Wallet balance Retrieve information about the wallet balance.
12
Responses:
• 200 Success:
o Description: Successful request
o Example response body:
{
"Wallets": [
{
"WalletId": 0,
"WalletName": "string",
"Balance": [
{
"CurrencyId": 0,
"CurrencyName": "string",
"Balance": 0
}
]
}
],
"Status": "string",
"ErrorCode": "string",
"ErrorMessage": "string",
"Error": {
"Code": "string"
}
}
Response parameters:
Parameter Type Description
Wallets Array List of wallet info records
WalletId Integer (int64) Wallet ID
WalletName String Wallet name
Balance Array List of balance records for the wallet
CurrencyId Integer (int64) Currency ID
CurrencyName String Currency name
Balance Number (double) Balance of the specified currency in the wallet
Status String Request execution status
ErrorCode String Error code
ErrorMessage String Error message
Error Object Error object
Code String Error code within the Error object
13
Response parameters:
Parameter Type Description
Code String Error code
AddInfo String Additional information
Exception String Exception
Transaction
[Back to Table of Contents]
API Transaction Interaction
Topic Description
Getting the total Queued Transaction Retrieve the total number of transactions in
count the queue.
Getting Transaction List Retrieve a list of transactions with pagination,
sorting, and filtering capabilities.
Withdraw Request Create a withdrawal request from an address.
Request parameters:
Parameter Type Req.? Description
ApiKey String Yes Your API key can be found on your client application's
"Wallets" page under the "API key" column.
PublicKey String Yes It’s a deprecated field. Please use ApiKey instead.
14
Responses:
• 200 Success:
o Description: Successful request
o Example response body:
{
"QueuedTotalCount": 0,
"Status": "string",
"ErrorCode": "string",
"ErrorMessage": "string",
"Error": {
"Code": "string"
}
}
Response parameters:
Parameter Type Description
QueuedTotalCount Integer (int64) Total number of queued transactions
Status String Request execution status
ErrorCode String Error code
ErrorMessage String Error message
Error Object Error object
Code String Error code within the Error object
• 400 Bad Request:
o Description: Bad request
o Example response body:
{
"Status": "string",
"ErrorCode": "string",
"ErrorMessage": "string",
"Error": {
"Code": "string"
}
}
15
Request parameters:
Parameter Type Req.? Description
Page Integer Yes Page number in the pagination (greater than 0).
(int32) Min: 1
Max: 2147483647
Count Integer Yes Number of items per page (greater than 0, less
(int32) than 200).
Min: 1
Max: 200
Search String No Value to search for
SortField String No Sorting field
SortDirection String No Sorting direction
Filter Object No Filtering object
ApiKey String Yes Your API key can be found on your client
application's "Wallets" page under the "API key"
column.
PublicKey String Yes It’s a deprecated field. Please use ApiKey instead.
Request example:
{
"Page": 2147483647,
"Count": 200,
"Search": "string",
"SortField": "string",
"SortDirection": "string",
16
Responses:
• 200 Success:
o Description: Successful request
o Example response body:
{
"Page": 0,
"Count": 0,
"List": [
{
"Id": 0,
"Type": 1,
"Date": "2024-05-20T09:53:04.643Z",
"NodeTime": "2024-05-20T09:53:04.643Z",
"BlockNumber": 0,
"TxId": "string",
"Cryptocurrency": "string",
"MerchantId": 0,
"MerchantName": "string",
"Initiator": "string",
"InitiatorType": "None",
"InitiatorId": "string",
"Amount": 0,
"AmountUSD": 0,
"Rate": 0,
"Commission": 0,
"CommissionCurrency": "string",
"DestinationAddress": "string",
"Comment": "string",
"Status": 0,
"FailReason": "string",
"OrderType": "string",
"BroadcastCompleted": "2025-04-29T14:45:21.444Z",
"ApproveStatus": 0,
"Direction": 0,
"UserId": 0,
"AmountMinusCommission": 0,
"CommissionType": "None",
"HasRepeats": true,
"OrderId": 0,
"UserName": "string",
"ApproveUserId": 0,
"UserApproved": "string",
"ApprovedDate": "2025-04-29T14:45:21.444Z",
"ApproveComments": "string",
"CallbackConfirmationStatus": 0,
"SenderAddresses": [
"string"
],
17
Response parameters:
Parameter Type Description
Page Integer Page number in the pagination (greater
(int32) than 0).
Min: 1
Max: 2147483647
Count Integer Number of items per page (greater than 0,
(int32) less than 200).
Min: 1
Max: 200
List Array List of transactions
Id Integer Transaction ID in your client application
(int64)
Type Integer Transaction type (enum, numbers):
(int32) Deposit = 1
Withdrawal = 2
ChangeDeposit = 3
ChangeWithdrawal = 4
AddressActivation = 5
CommissionPayment = 6
DepositCommissionPayment = 7
BlockchainWithdrawalFee = 8
ProxyAggregationWithdrawal = 9
ProxyAggregationDeposit = 10
ExchangeProxyAggregationWithdrawal = 11
ExchangeProxyAggregationDeposit = 12
Date String Date and time the transaction was created
(date-time)
NodeTime String Date and time the transaction was added
(date-time) to the node
18
Response parameters:
Parameter Type Description
Status String Request execution status
ErrorCode String Error code
21
Responses:
• 200 Success:
22
Response parameters:
Parameter Type Description
Status String Request execution status
ErrorCode String Error code
ErrorMessage String Error message
Error Object Error object
Code String Error code within the Error object
Response parameters:
Parameter Type Description
Status String Request execution status
ErrorCode String Error code
ErrorMessage String Error message
Error Object Error object
Code String Error code within the Error object
23
Callback parameters:
Parameter Type Description
RequestId String Withdrawal request ID
Id String Transaction ID in your client application
ExternalId String Client-side external ID. It’s a deprecated field.
Please use Label instead.
AdditionalInfo String Additional information. It’s a deprecated field.
Please use Label instead.
Label String Address label
Address String Transaction address
Amount Number (double) Transaction amount
Currency String Transaction currency
Rate Number (double) Exchange rate to USD
TxId String Blockchain transaction ID
Date String (date-time) Date and time the transaction was created
Error String Transaction error
Comment String Payment comment
Initiator String Event initiator (enum, string):
None = 0
ExternalDeposit = 1
24
You can find the Key in the app's Wallet Settings. Then, calculate the SHA256 hash for
the result string and compare it with the value of the checksum field. If the values are
equal, the callback is trusted.
25