bitHolla Vault provides full API setup for businesses and developers. Most of Vault APIs are private and require authentication through API key and secret.
You need to signup on Vault Dashboard and generate an API key under Vault section in order to use the platform.
Generating API keys and accessing Vault through APIs are only allowed for business accounts. Contact sales@bitholla.com to upgrade your account.
You can use a 15 days trial business account upon request. Contact support@bitholla.com to activate your trial access.
Authentication
All vault APIs require authentication by the client.
Any authenticated request requires key and secret present in the request header. You are required to register your account and get your API keys in order to use bitHolla Vault kit.
Refer to the private API headers for authentication.
You can use the interactive API Explorer to place your key and secret and click Authorize and fill in Key and Secret fields use authenticated services in the API Explorer.
Authorization in Interactive API Explorer on https://api.vault.bitholla.com/docs
Do not add any values to Bearer field since that is not relevant to this scope and is used for bitHolla dashboard.
Endpoints
All vault endpoints are private endpoints and require authentication.
All currencies in Vault API should be in lower case in their 3,4 digit format. For example, Bitcoin should be used as btc when sent to the server.
This endpoint allows you to create a brand new single-address or multi-address wallet.
Make sure you write down and store the random seed securely. You will never be able to get the seed later in future.
Request
Response
Request
Headers
key
required
string
Client API key for authentication
secret
required
string
Client API secret for authentication
Body Parameters
name
required
string
Wallet name. Needs to be unique and can only contain alphanumeric characters, dash(-) and underscore(_). min 3, max 20 characters.
currency
required
string
currency name e.g. btc
is_testnet
optional
boolean
Type of wallet. If true, it uses testnet coins instead of real coins
webhook
optional
string
Endpoint webhook for notifications of this wallet
type
optional
string
single address wallet or multi address wallet. Default: multi
Response
200: OK
{
"name":"string",
"currency":"string",
"is_testnet":true,
"webhook":"string",
"type":"multi",
"seed":"string"
}
delete
Wallet
https://api.vault.bitholla.com/v1/wallet
Permanently delete a wallet.
Request
Response
Request
Headers
key
required
string
Client API key for authentication
secret
required
string
Client API secret for authentication
Body Parameters
wallet_id
required
number
Id of the wallet being deleted
Response
200: OK
{
message:'Successfullly deleted wallet with id: <wallet_id>.'
}
get
Wallets
https://api.vault.bitholla.com/v1/user/wallets
Get all user wallets.
Request
Response
Request
Headers
key
required
string
Client API key for authentication
secret
required
string
Client API secret for authentication
Query Parameters
name
optional
string
Wallet name to filter by. Will return all wallets with name within the name.
currency
optional
string
Currency to filter by e.g. btc
limit
optional
number
Number of elements to return. Default: 50. Max 100
Withdrawal of funds to an external address.ALL JSON BODY OBJECTS MUST GO WITHIN A SINGLE ARRAY!
Pro Tip: To withdrawal the total amount available in wallet_name, set the amount as 0.
Request
Response
Request
Path Parameters
wallet_name
required
string
Wallet name that funds need to be withdrawn from
Headers
key
required
string
Client API key
secret
required
string
Client API secret
Body Parameters
address
required
string
Receiving address of the withdraw
amount
optional
number
Amount to be withdrawn. Omit or set as 0 to withdraw the total amount in the wallet
meta
optional
object
Meta options added to the request. Set additional options within this object. Available options:
- tag Tag value for XRP withdrawals
- fee Fee to include with withdrawal, can be optimal (recommended fee), low (low priority fee), or min (lowest possible fee). Default value is optimal
Check the status of a transaction to a child address. If confirmed on the blockchain, amount will be swept to the master address.
If a deposit transaction is missing, manual check with this endpoint is required to check the status of the deposit and this will automatically handle the deposit process.
Request
Response
Request
Headers
key
required
string
Client API key for authentication
secret
required
string
Client API secret for authentication
Query Parameters
currency
required
string
Coin name of the transaction e.g. btc
transaction_id
required
string
Transaction ID of the transaction
address
required
string
Address the transaction was made to
is_testnet
optional
boolean
Specify whether or not the transaction was on the testnet. Default value: false.