BITVAULT

BITVAULT

API Documentation

Documentation

BITVAULT Gateway REST API provides fast and secure way to access, manage and control your Crypto Payment Wallet.

URI

This is the API URI to use

Authentication


Authentication is done using an API key and a secret. To generate this pair, please login to your Wallet and under settings your can generate and manage your keys.

To make a request to

POST https://api.hydrostack.io/v1/deposit/new

With a payload of

{
"nonce": "1234",
"option1": ...
}

Note: The nonce provided must be strictly increasing.

To authenticate the request, use the following:

payload = parameters-dictionary -> JSON encode -> base64
signature = HMAC-SHA384(payload, api-secret) as hexadecimal
send (api-key, payload, signature)

These are expected in the HTTP request header field and named:

APIKEY
SIGNATURE

These is expected in the HTTP request body field:

PAYLOAD

Deposit New

Create a new deposit request.

POST /deposit/new
Request
Key Type Description
coincode string Deposit Cryptocurrency of choice (BTC,BCH,etc).
coinnetwork string Coin Network selector. For Main use “M” and for Testnet use “T”. Testnet is only available for BTC.
referenceId string Optional. Internal reference of deposit (client ID, member ID, etc.).
sender string Depositor's name.
requestCurrency string Currency option of the Deposit. For FIAT requests use ISO-4217 (USD,EUR,etc.) and for Crypto use code (BTC,BCH,etc.)
requestAmount numeric Request FIAT or Crypto amount.
callbackUrl string Optional. The URL to forward all possible events related to this deposit.
Response
Key Type Description
uid string Deposit Unique Identifier.
address string Deposit receiving Address.
requestAmountCoins numeric Calculated or specified amount of coins for the deposit.

Deposit Query

Get the latest information and status of a given deposit.

POST /deposit/query
Request
Key Type Description
uid string Deposit Unique Identifier.
Response
Key Type Description
coincode string Deposit Cryptocurrency.
coinnetwork string “M” = Main and "T” = Testnet.
referenceId string Internal reference of the deposit.
sender string Depositor's name.
address string Deposit receiving Address.
requestCurrency string Currency ISO-4217 or Crypto code.
requestAmount numeric Requested FIAT or Crypto amount.
requestAmountCoins numeric Requested cryptocurrency amount.
receivedAmountCoins numeric Received cryptocurrency amount.
fiatEstimatedReceivedAmount numeric Spot estimated FIAT amount of the deposit. Uses requestCurrency or Wallet Base Currency settings.
confirmations numeric Deposit blockchain confirmations.
txid string Blockchain TXID of deposit.
requestDatetime datetime Date and time of deposit request.
completedDatetime datetime Date and time of deposit completion.
callbackUrl string The provided URL to forward all possible events related to this deposit.

Deposit Callback


An HTTP post to the provided callback URL will be triggered when the first deposit notification is received and for each blockchain confirmation.

The POST request is expecting "200 OK" HTTP status code to set the callback as successful. Any other value will be recognized as an error. A total of 3 attemps will be made for each callback.

The HTTP Body field will cointain the JSON deposit object encoded in Base64.

JSON Dictionary Decoded
Key Type Description
uid string Deposit Unique Identifier.
coincode string Deposit Cryptocurrency.
coinnetwork string “M” = Main and "T” = Testnet.
referenceId string Optional. Internal reference of deposit (client ID, member ID, etc.).
sender string Depositor's name.
address string Deposit receiving Address.
requestCurrency string Currency ISO-4217 or Crypto code.
requestAmount numeric Requested FIAT or Crypto amount.
requestAmountCoins numeric Requested cryptocurrency amount.
receivedAmountCoins numeric Received cryptocurrency amount.
fiatEstimatedReceivedAmount numeric Spot estimated FIAT amount of the deposit. Uses requestCurrency or Wallet Base Currency settings.
confirmations numeric Deposit blockchain confirmations.
txid string Blockchain TXID of deposit.
requestDatetime datetime Date and time of deposit request.
completedDatetime datetime Date and time of deposit completion.
IMPORTANT INFORMATION FOR ADDRESSES RECEIVING MORE THAN ONE (1) DEPOSIT
If a customer sends more than one (1) deposit to a given address, a new deposit receipt will be automatically created, duplicating the first received successful deposit information. The deposit will be notified as usual during the callback process, however you should notice that the new deposit will have a new "uid" value. If you want to also be notified via email if an event like this occurs, please register a valid email address with Customer Support.

Payout New

Create a new payout request.

POST /payout/new/
Request
Key Type Description
coincode string Deposit Cryptocurrency of choice (BTC,BCH,etc).
coinnetwork string Coin Network selector. For Main use “M” and for Testnet use “T”. Testnet is only available for BTC.
referenceId string Internal reference of the payout.
beneficiary string Beneficiary's name.
address string Payout Address.
requestCurrency string Currency option of the Payout. For FIAT requests use ISO-4217 (USD,EUR,etc.) and for Crypto use code (BTC,BCH,etc.)
requestAmount numeric Request FIAT or Crypto amount.
authorize boolean Option to authorize or not the payout. If [authorize=false] authorizing the payout is possible using the Payouts Dashboard or calling the "/withdraw/authorize" method.
callbackUrl string Optional. The URL to forward all possible events related to this payout.
Response
Key Type Description
uid string Payout Unique Identifier.

Payout Authorize

Authorize a payout request instruction.

POST /payout/authorize
Request
Key Type Description
uid string Payout Unique Identifier.
Response
Key Type Description
requestId string Payout request confirmation ID.

Payout Query

Get the latest information and status of a given payout.

POST /payout/query
Request
Key Type Description
uid string Payout Unique Identifier.
Response
Key Type Description
coincode string Payout Cryptocurrency.
coinnetwork string “M” = Main and "T” = Testnet.
referenceId string Internal reference of the payout.
beneficiary string Beneficiary's name.
address string Payout Address.
requestCurrency string Currency ISO-4217 or Crypto code.
requestAmount numeric Requested FIAT or Crypto amount.
payoutAmountCoins numeric Payout cryptocurrency amount.
txid string Blockchain TXID of payout.
requestDatetime datetime Date and time of payout request.
completedDatetime datetime Date and time of payout completion.
callbackUrl string The provided URL to forward all possible events related to this payout.

Payout Callback


An HTTP post to the provided callback URL will be triggered when the payout is completed.

The POST request is expecting "200 OK" HTTP status code to set the callback as successful. Any other value will be recognized as an error. A total of 3 attemps will be made for each callback.

The HTTP Body field will cointain the JSON payout object encoded in Base64.

JSON Dictionary Decoded
Key Type Description
uid string Payout Unique Identifier.
coincode string Payout Cryptocurrency.
coinnetwork string “M” = Main and "T” = Testnet.
referenceId string Internal reference of the payout.
beneficiary string Beneficiary's name.
address string Payout Address.
requestCurrency string Currency ISO-4217 or Crypto code.
requestAmount numeric Requested FIAT or Crypto amount.
payoutAmountCoins numeric Payout cryptocurrency amount.
txid string Blockchain TXID of payout.
requestDatetime datetime Date and time of payout request.
completedDatetime datetime Date and time of payout completion.

Currency Converter

Provides a convertion tool between FIAT currencies and cryto currencies.

POST /currency/convert
Request
Key Type Description
coincode string Cryptocurrency of choice (BTC,BCH,etc).
currency string FIAT currency in ISO-4217 format.
amountFiat numeric The FIAT amount you wish to convert to crypto.
amountCoins numeric The Cryptocurrency amount you wish to convert to FIAT.
Response
Key Type Description
amountFiat numeric FIAT equivalent of CRYPTO.
amountCoins numeric Crypto equivalent of FIAT
You can only provide the FIAT amount or the Crypto amount to be converted, not both. The other parameter must be 0.
To find the list of supported FIAT currencies DOWNLOAD PDF