Search…
Changelog

v.1.19.0 - 2021-08-18

New Features

    IP whitelist can be set for tokens to restrict requests to while listed addresses using PUT /user/token
1
{
2
"ip": "198.168.0.1,1.2.3.4" // whitelist ips are separated using comma
3
"token_id": "id of the token to update"
4
}
Copied!
    Checks token balance before withdrawal. In case the wallet does not have enough balance, it now rejects the transaction without posting it to the blockchain.
    Can now specify which currency to get balance for in a wallet.
      GET /wallet/:wallet_name/balance now accepts a query parameter currency. Passing currency will return balance for currency in a wallet. If not given, will return balance for default wallet currency.
      Examples
        Passing currency as xht will return xht balance in eth wallet
        Not passing currency will return eth balance in eth wallet

Changes

    Check status now supports blockchain networkdin query parameter to handle status check of transaction on specific blockchain network.
    Endpoint Changes:
      GET /wallet/:wallet_name/balance
        Now accepts a query parameter currency that specifies which currency to get balance for.

v.1.18.0 - 2021-05-17

New Features

    Binance Smart Chain support for BNB and all smart contracts using BEP-20 standard.
    Dogecoin integration and full support.
    Litecoin integration and full support.

v.1.17.0 - 2021-04-20

New Features

    TRC20 and BEP20 support.
    Assets can be transferred on different chains by specifying network

v.1.16.0 - 2021-02-24

New Features

    Tron (TRX) full business wallet support including deposit/withdrawal, sweep, multi address and single wallet generation.
    XLM assets are now supported by the vault. They need to be connected to and XLM multi and activated per wallet.

v.1.15.0 - 2021-01-29

New Features

    Bitcoin Vault (BTCV) full business wallet support including deposit/withdrawal, sweep, multi address and single wallet generation.

v.1.14.0 - 2021-01-21

Changes

    ***Breaking change and not backward compatible*** /wallet/{wallet_name}/withdraw/simple
    endpoint is deprecated. Additionally /wallet/{wallet_name}/withdraw is using the same body format as /wallet/{wallet_name}/withdraw/simple starting from v1.14 release. It uses an object instead of array using the format below:
1
"data": {
2
"address": "string",
3
"amount": 0,
4
"meta": {}
5
},
6
"fee": "optimal"
7
}
Copied!
    /wallet/{wallet_name}/address is deprecated and instead /wallet/{wallet_name}/address/new should be used.
/wallet/{wallet_name}/withdraw/simpleand /wallet/{wallet_name}/address endpoint will no longer be supported after v1.15 so you need to change it as soon as possible to avoid any issues in future.

New Features

    Ethereum wallet version 2. Version 2 Ethereum wallet allows you to create one omnibus wallet for all your Ethereum and tokens to be linked through one single wallet. This would allow managing and integrating new tokens easier. Addresses created in version 2 Ethereum wallet are linked through all the supported tokens so any deposit to an address created in this wallet would be recorded accordingly. In order to specify the currency for withdrawal and sweeping matters, user require to pass the currency field following the example below:
1
{
2
"data": {
3
"currency": "string", // new optional field
4
"address": "string",
5
"amount": 0,
6
"meta": {}
7
},
8
"fee": "optimal"
9
}
Copied!
Version 2 wallet is only available for Ethereum and you need to request access for this since it is still in beta.

v.1.13.0 - 2020-11-06

New Features

    Advance sweep
      fee and min are added to POST /sweep to allow advance customization of sweeping. fee by default was always set to minimum fee on the chain and min was set to 0 previously. Now minimum amount can be specified with the sweeping fee in order to hand pick large transactions without them getting stuck in the blockchain due to low fees.
    Alternative explorer support
      Supporting more blockchain nodes to increase the accuracy of blockchain data received by Vault.

v.1.12.0 - 2020-09-15

Changes

    API URL changes
      The Vault API URL is changed from https://api.bitholla.com to https://api.vault.bitholla.com
      Endpoint path /vault changed to /wallet for most endpoints (details listed below)
      Vault will remain backward compatible and still support all previous endpoints. However, we strongly recommend that users migrate to our new endpoints to avoid future disruptions.
    Endpoint changes
      API URL https://api.bitholla.com => https://api.vault.bitholla.com
      GET /vault/coins => GET /coins
      GET /vault/:wallet_name/check => GET /wallet/:wallet_name/check
      POST /vault/wallet => POST /wallet
      DELETE /vault/wallet => DELETE /wallet
      GET /vault/user/wallets => GET /user/wallets
      GET /vault/:wallet_name/master => GET /wallet/:wallet_name/master
      GET /vault/:wallet_name/address/new => GET /wallet/:wallet_name/address/new
      GET /vault/:wallet_name/addresses => GET /wallet/:wallet_name/addresses
      GET /vault/:wallet_name/balance => GET /wallet/:wallet_name/balance
      GET /vault/:wallet_name/restart => GET /wallet/:wallet_name/restart
      POST /vault/:wallet_name/withdraw => POST /wallet/:wallet_name/withdraw
      POST /vault/:wallet_name/withdraw/simple => POST /wallet/:wallet_name/withdraw/simple
      POST /vault/:wallet_name/withdraw/batch => POST /wallet/:wallet_name/withdraw/batch
      PUT /vault/:wallet_name/sweep => PUT /wallet/:wallet_name/sweep
      POST /vault/:wallet_name/sweep => POST /wallet/:wallet_name/sweep
      GET /vault/:wallet_name/transactions => GET /wallet/:wallet_name/transactions
      GET /vault/transaction/status => GET /wallet/transaction/status
      PUT /vault/:wallet_name/webhook => PUT /wallet/:wallet_name/webhook
      GET /vault/:wallet_name/webhook/test => GET /wallet/:wallet_name/webhook/test

v.1.11.0 - 2020-06-23

Changes

    Webhook Test
      Previous version required user to enter a mock transaction manually
      The process is simplified to be more similar to the actual webhook flow
      Endpoint changed from POST /vault/webhook/test to GET /vault/:wallet_name/webhook/test
      Endpoint only requires the name of a user's wallet (:wallet_name)
      Vault will send two mock transactions to the wallet's webhook URL separated by 10 seconds
        First transaction will be pending
        Second transaction will be completed
      If the first request fails, this endpoint will throw a 400 error
    Endpoint Changes
      POST /vault/webhook/test => GET /vault/:wallet_name/webhook/test

v.1.10.0 - 2020-05-22

New Features

    Can now filter transactions by transaction id
    Manual/Auto sweeping wallets
      Users can now configure wallets to sweep funds in sub-address automatically or manually using the endpoint PUT /vault/:wallet_name/sweep
        Endpoint takes body with the boolean value auto_sweep
        Wallets with auto_sweep set to true will be swept by vault every ~5 minutes
        New wallets will have auto_sweep set to false by default
      Users can now manually sweep their wallets to an address using the endpoint POST /vault/:wallet_name/sweep
        Endpoint takes body with optional string value address
          The funds will be swept to the given address
          Passing an empty body will sweep the sub-address funds to the wallet's master address
    Wallet restart
      Users can now restart their wallets using the endpoint GET /vault/:wallet_name/restart
    New endpoints:
      PUT /vault/:wallet_name/sweep
      POST /vault/:wallet_name/sweep
      GET /vault/:wallet_name/restart

Changes

    Endpoint changes
      GET /vault/:wallet_name/transactions
        Added txid query filter that filters result by transaction id
    Wallet sweep functionality
      Wallets were originally automatically swept by Vault
      Users now have the option to manually sweep wallets

v.1.9.0 - 2020-03-27

New Features

    XLM (Stellar) Support
    XAUT (Tether Gold) Support

v.1.8.0 - 2020-01-28

New Features

    USD Coin (USDC) Support
    LEOcoin (LEO) Support
    Delete Wallet
      DELETE /vault/wallet
      Users can now delete their own wallets.
      Must pass the id of the wallet (wallet_id) in the request body
      Example:
      1
      {
      2
      wallet_id: 1
      3
      }
      Copied!
    Simple Withdraw
      POST /vault/{wallet_name}/withdraw/simple
      Same functionality as POST /vault/{wallet_name}/withdraw but with better body data structure
      Body includes data which is a single object with address, amount, and meta and an optional fee
      Example:
      1
      {
      2
      data: {
      3
      address: 'string',
      4
      amount: 0.001,
      5
      meta: {
      6
      tag: 'string'
      7
      }
      8
      },
      9
      fee: 'string'
      10
      }
      Copied!
    Batch Withdraw
      POST /vault/{wallet_name}/withdraw/batch
      Users can now perform multiple withdrawals to different addresses
      Only works with BTC and BCH
      Body includes data which is an array of objects with the individual withdrawal addresses and amounts and an optional fee.
      Example:
      1
      {
      2
      data: [
      3
      {
      4
      address: 'string',
      5
      amount: 0.001
      6
      },
      7
      ...
      8
      ],
      9
      fee: 'string'
      10
      }
      Copied!
    Endpoints added:
      POST /vault/{wallet_name}/withdraw/simple
      POST /vault/{wallet_name}/withdraw/batch
      DELETE /vault/wallet

v.1.7.0 - 2019-12-16

New Features

    Dai (DAI) Support
    Maker (MKR) Support

v.1.6.0 - 2019-12-12

New Features

    Monero (XMR) support
      Only available for business wallets
      Requires a special setup process

v.1.5.0 - 2019-11-25

New Features

    BCH support now available
    Single address support
      Users can now choose between creating a single address wallet and multi address wallet. Single address wallets cannot generate new addresses.
    Endpoints added
      GET /vault/{wallet_name}/address/new
        Same functionality as GET /vault/{wallet_name}/address

Changes

    Endpoint changes
      POST /vault/wallet
        Added type field to body object that specifies the type of wallet being created. Can be one of single or multi. Default value is multi.
      GET /vault/{wallet_name}/address
        Changed to GET /vault/{wallet_name}/address/new

v.1.4.0 - 2019-11-13

New Features

    Check wallet name availability
      Users can now check to see if a wallet name is available by using GET /vault/{wallet_name}/check.
    See available Vault coins
      Users can now see all the available coins on Vault using GET /vault/coins.
    Filter wallets by name
      Users can now filter wallet queries by a name.
      GET /vault/user/wallets now has a name query parameter. Vault will return all wallets with names that include the name value.
    Endpoints added
      GET /vault/{wallet_name}/check
      GET /vault/coins
    New coins are supported
      HollaEx (HEX)
      USD Tether (USDT)

Changes

    Endpoint changes
      GET /vault/user/wallets
        Added a name query parameter

v.1.3.0 - 2019-10-31

New Features

    Withdrawal fee customization
      Users can now specify the transaction fee of a withdrawal.
      In the meta tag of POST /vault/{wallet_name}/withdraw, there is an added field called fee where users can choose to add an optimal, low, or min
        optimal: Recommended fee required to make the withdrawal
        low: Low priority fee
        min: Lowest possible fee
          Example:
          1
          "meta": {
          2
          "fee": <optiomal, low, min>
          3
          }
          Copied!
      By default, Vault uses the optimal fee if users don't add a fee field
      Fees can only be one of these three values and a fully custom fee is not allowed. The lower the fee, the longer it could take for it to be confirmed on the blockchain so we recommend using optimal fee.
    Maximum withdrawal amount
      Users can now choose to withdraw the total amount for a wallet
      The amount field in the body of a POST /vault/{wallet_name}/withdraw request is now optional. To withdraw the total amount in the wallet, either omit the amount field or set it as 0.
    Address filtering for transactions
      Users can now filter transactions by their associated addresses.
      GET /vault/{wallet_name}/transactions now takes an address query parameter. Set this parameter as an address to filter the request.
    Rejected transactions
      A is_rejected field has been added to transactions which indicates whether or not the transaction was rejected by the blockchain.
      A rejected transaction is final and means that it has failed.

Changes

    Endpoint changes
      base path /v0 updated to /v1
        /v0 is still supported but users should use /v1 going forward.
      POST /vault/{wallet_name}/withdraw
        Added a fee field in the meta tag where users can choose a withdrawal fee.
        amount field is now optional and can be omitted or set to 0 to indicate a maximum withdrawal.
      GET /vault/{wallet_name}/transactions
        Added address query parameter that filters transactions by address.

v.1.2.0 - 2019-10-08

New Features

    Vault now listens for both testnet and mainet transactions on the blockchain and sends notification for all coins in both environments
    Ethereum ERC20 contracts are now connected and fully supported
    Previously, XRP wallets with lower than 20xrp displayed an error for their balances. This has been fixed and the wallets now show 0 if they have less than 20xrp.
      20xrp is required to start an XRP wallet on the blockchain.

Changes

    Endpoint Changes
      /vault/transaction/status && /dash/vault/transaction/status
        Added a new query parameter is_testnet. It is a boolean variable and specifies if the transaction being checked was on the testnet or not. The default value is false.
      vault/webhook/test
        Request body now has a is_testnet field that specifies if the transaction being checked was on the testnet or not. The default value is false.

1.1.0 - 2019-09-30

New Features

    Added a new meta attribute to the body being sent withPOST /vault/:wallet_name/withdraw . It is an optional attribute that is an object where a user can send additional variables with a withdraw request. For example, XRP withdrawals require a tag value. Users can send this tag within the meta attribute.
      Example:
      1
      [
      2
      {
      3
      "address": "string",
      4
      "amount": 0.1,
      5
      "meta": {
      6
      "tag": 901224830
      7
      }
      8
      }
      9
      ]
      Copied!

1.0.0 - 2019-09-24

New Features

    Master Wallet Address
      Every wallet will have a master address that holds all funds deposited to either the master address directly or to any of its child addresses.
      The lifecycle of a deposit made to a child address is as follows:
        Deposit is made to the address
        Deposit is waiting to be confirmed on the blockchain
        Once confirmed, the funds will wait to be swept to the master wallet
      All deposits made to child addresses will eventually be transferred to the master address through a process called a sweep. A sweep is when Vault transfers all blockchain-confirmed funds in child addresses to the master address.
      Every sweep is considered an additional transaction and will have an associated transaction fee. Sweeps are performed every minute.
      There will be rare cases in which a deposit made to an address is confirmed on the blockchain but not swept to the master address. In this case, the wallet owner should make a GET request to /vault/transaction/status with the currency, transaction_id, and address of the deposit as query parameters. Vault will check the blockchain to confirm the deposit and sweep the funds to the master address.
      Learn more in the Advance Guide.
    Endpoints Added
      GET /vault/{wallet_name}/master
        Get the master address for wallet_name
      GET /vault/{wallet_name}/balance
        Get the balance on the master address for wallet_name
      GET /vault/transaction/status
        Have Vault check the status of a transaction. If confirmed on the blockchain, Vault will sweep the funds to the master address. Query parameters currency, transaction_id, address required.

Changes

    api-key and api-secret are now called key and secret, respectively. They are still required in the header for authorization purposes.
    Endpoints Changed
      POST /vault/{wallet_name}/withdraw
        Originally required a JSON object within the body.
        Now requires an array of JSON objects.
          This endpoint will eventually allow multiple withdrawals to be made within a single blockchain transaction. For now, it only performs the first withdrawal JSON object in the array.
        currency is no longer required in the JSON object.
Last modified 2mo ago