NAV
shell

Introduction

Welcome to the Bitbox API! You can use our API to access Bitbox API endpoints, which can connect you to trading system platform.

We have language bindings in Shell! You can view curl code examples in the dark area to the right and implement them in your programming language by calling APIs.

Authentication

Bitbox uses Bearer API keys to allow access to the API. You can get a new Bitbox API key by Get in touch with us.

Bitbox expects for the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: Bearer {YOUR_API_KEY}

General

Get All Coins Details

curl "{API_ENDPOINT}/api/v1/coinDetails" \
  -H "Authorization: Bearer {YOUR_API_KEY}"

The above command returns JSON structured like this:

{
  "apiVersion": "1.0",
  "success": true,
  "result": {
    "items": [
      {
        "coin": "IO",
        "active": true,
        "price": "3.59300000000000000000",
        "changePercent": "-4.050",
        "volume": "8456137.44338370000000000000",
        "high": "3.85500000000000000000",
        "low": "3.47900000000000000000",
        "amountPrecision": 2
      },
      {
        "coin": "BEER",
        "active": true,
        "price": "0.00006410000000000000",
        "changePercent": "-1.830",
        "volume": "25620099.34917900000000000000",
        "high": "0.00008190000000000000",
        "low": "0.00006230000000000000",
        "amountPrecision": 0
      },
      {
        "coin": "PIZZA",
        "active": true,
        "price": "4.41600000000000000000",
        "changePercent": "12.560",
        "volume": "8372589.77653240000000000000",
        "high": "4.86000000000000000000",
        "low": "3.91000000000000000000",
        "amountPrecision": 2
      }
    ]
  },
  "error": null,
  "paginate": false,
  "message": null
}

This endpoint retrieves all coins with details.

HTTP Request

GET /api/v1/coinDetails

Get Supported Coins

curl "{API_ENDPOINT}/api/v1/coinSupport" \
  -H "Authorization: Bearer {YOUR_API_KEY}"

The above command returns JSON structured like this:

{
  "apiVersion": "1.0",
  "success": true,
  "result": {
    "items": [
      {
        "coin": "SBTC",
        "active": true,
        "networks": [
          {
            "supplierId": 6,
            "name": "SBTC",
            "network": "SBTC",
            "addressRegex": "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$",
            "tagRegex": "",
            "minDeposit": "48.345109706210",
            "minWithdraw": "0.037188550000",
            "withdrawFee": null,
            "withdrawPrecision": 8,
            "withdrawEnable": false,
            "depositEnable": false,
            "requiredConfirmCount": null,
            "minAmount": "3.000000000000",
            "minQuote": "3.000000000000",
            "maxWithdraw": "18282197.810000000000",
            "withdrawPercentOnChain": "0.000000000000"
          }
        ]
      },
      {
        "coin": "NEBL",
        "active": true,
        "networks": [
          {
            "supplierId": 6,
            "name": "BNB Smart Chain (BEP20)",
            "network": "BSC",
            "addressRegex": "^(0x)[0-9A-Fa-f]{40}$",
            "tagRegex": "",
            "minDeposit": "2831.627096493100",
            "minWithdraw": "2.178174690000",
            "withdrawFee": "113.430000000000",
            "withdrawPrecision": 8,
            "withdrawEnable": true,
            "depositEnable": false,
            "requiredConfirmCount": null,
            "minAmount": "3.000000000000",
            "minQuote": "3.000000000000",
            "maxWithdraw": "1070808754.850000000000",
            "withdrawPercentOnChain": "0.000000000000"
          }
        ]
      },
      {
        "coin": "GLM",
        "active": true,
        "networks": [
          {
            "supplierId": 6,
            "name": "Ethereum (ERC20)",
            "network": "ETH",
            "addressRegex": "^(0x)[0-9A-Fa-f]{40}$",
            "tagRegex": "",
            "minDeposit": "34.455340577790",
            "minWithdraw": "0.026504110000",
            "withdrawFee": "24.190000000000",
            "withdrawPrecision": 8,
            "withdrawEnable": true,
            "depositEnable": true,
            "requiredConfirmCount": null,
            "minAmount": "3.000000000000",
            "minQuote": "3.000000000000",
            "maxWithdraw": "13029639.520000000000",
            "withdrawPercentOnChain": "0.000000000000"
          }
        ]
      }
    ]
  },
  "error": null,
  "paginate": false,
  "message": null
}

This endpoint retrieves all coins we support.

HTTP Request

GET /api/v1/coinSupport

Wallet

Get Balance

curl "{API_ENDPOINT}/api/v1/balance" \
  -H "Authorization: Bearer {YOUR_API_KEY}"

The above command returns JSON structured like this:

{
  "apiVersion": "1.0",
  "success": true,
  "result": {
    "items": [
      {
        "currency": "NSBT",
        "balance": 0,
        "pendingWithdrawBalance": 0,
        "suppliers": []
      },
      {
        "currency": "NFT",
        "balance": 43.6785927951,
        "pendingWithdrawBalance": 0,
        "suppliers": [
          {
            "name": "Huobi",
            "balance": 0.0761320376203,
            "pendingWithdrawBalance": 0
          },
          {
            "name": "Gate",
            "balance": 43.6024607575,
            "pendingWithdrawBalance": 0
          }
        ]
      },
      {
        "currency": "REI",
        "balance": 0.0011919,
        "pendingWithdrawBalance": 0,
        "suppliers": [
          {
            "name": "Gate",
            "balance": 0.0011919,
            "pendingWithdrawBalance": 0
          }
        ]
      },
      {
        "currency": "LOOKS",
        "balance": 0.00842735,
        "pendingWithdrawBalance": 0,
        "suppliers": [
          {
            "name": "Gate",
            "balance": 0.00842735,
            "pendingWithdrawBalance": 0
          }
        ]
      },
      {
        "currency": "ELON",
        "balance": 67.233272486,
        "pendingWithdrawBalance": 0,
        "suppliers": [
          {
            "name": "Huobi",
            "balance": 0.77777776,
            "pendingWithdrawBalance": 0
          },
          {
            "name": "Gate",
            "balance": 65.455494726,
            "pendingWithdrawBalance": 0
          }
        ]
      }
    ]
  },
  "error": null,
  "paginate": false,
  "message": null
}

This endpoint retrieves your balance in suppliers.

HTTP Request

GET /api/v1/balance

URL Parameters

Parameter Description Optional
accountName Specific name of account yes

Get all assets in USD

curl "{API_ENDPOINT}/api/v1/assets/wholeAssetsInUsd" \
  -H "Authorization: Bearer {YOUR_API_KEY}"

The above command returns JSON structured like this:

{
  "apiVersion": "1.0",
  "success": true,
  "result": {
    "wholeUsd": "27.25262441",
    "pendingUsdValue": "19.87633849"
  },
  "error": null,
  "paginate": false,
  "message": null
}

This endpoint retrieves all of your balance as USD.

HTTP Request

GET /api/v1/assets/wholeAssetsInUsd

Transactions

Get Transactions

curl "{API_ENDPOINT}/api/v1/getTransactions" \
  -H "Authorization: Bearer {YOUR_API_KEY}"

The above command returns JSON structured like this:

{
  "apiVersion": "1.0",
  "success": true,
  "result": {
    "items": [
      {
        "id": 1,
        "address": "blockchainAddress",
        "tag": null,
        "amount": "0.0009925800",
        "txId": "txId",
        "trackId": null,
        "transactionId": "mockID",
        "coin": {
          "id": 225,
          "coin": "BTC",
          "active": true,
          "created_at": "2022-08-13T13:20:54.000000Z",
          "updated_at": "2022-08-13T13:20:54.000000Z",
          "precision": 5
        },
        "subAccount": "1234567",
        "status": "done",
        "type": "deposit",
        "order": {
          "quantity": 0.000992,
          "executed": 63.671567540359,
          "avgPrice": 64262.14,
          "createdAt": "2024-06-22 17:06:21"
        },
        "network": "BTC",
        "createdAt": "2024-06-22 17:06:13",
        "transferredAt": "2024-06-22 17:06:38",
        "provider": null,
        "correlationId": null,
        "withdrawFee": null,
        "supplier": "Binance",
        "addressBlocked": false
      },
      {
        "id": 2,
        "address": "blockchainAddress",
        "tag": null,
        "amount": "0.0010196600",
        "txId": "txId",
        "trackId": null,
        "transactionId": "mockID",
        "coin": {
          "id": 225,
          "coin": "BTC",
          "active": true,
          "created_at": "2022-08-13T13:20:54.000000Z",
          "updated_at": "2022-08-13T13:20:54.000000Z",
          "precision": 5
        },
        "subAccount": "1234567",
        "status": "done",
        "type": "deposit",
        "order": {
          "quantity": 0.001019,
          "executed": 66.309056056933,
          "avgPrice": 65150.8334249264,
          "createdAt": "2024-06-19 17:02:11"
        },
        "network": "BTC",
        "createdAt": "2024-06-19 17:02:05",
        "transferredAt": "2024-06-19 17:02:29",
        "provider": null,
        "correlationId": null,
        "withdrawFee": null,
        "supplier": "Binance",
        "addressBlocked": false
      }
    ]
  },
  "error": null,
  "paginate": false,
  "message": null
}

This endpoint retrieves transactions by filters.

HTTP Request

GET /api/v1/transactions

URL Parameters

Parameter Description Optional
status Status of transactions yes
type deposit/withdraw yes
coin Example: TRX yes
accountName Specific account name yes
fromDate Example: 2024-01-02 00:12:00 yes
toDate Example: 2024-01-25 13:22:43 yes

Get Transactions By IDs

curl "{API_ENDPOINT}/api/v1/getTransactions" \
  -H "Authorization: Bearer {YOUR_API_KEY}"

The above command returns JSON structured like this:

{
  "apiVersion": "1.0",
  "success": true,
  "result": {
    "items": [
      {
        "id": 1,
        "address": "blockchainAddress",
        "tag": null,
        "amount": "0.0009925800",
        "txId": "txId",
        "trackId": null,
        "transactionId": "mockID",
        "coin": {
          "id": 225,
          "coin": "BTC",
          "active": true,
          "created_at": "2022-08-13T13:20:54.000000Z",
          "updated_at": "2022-08-13T13:20:54.000000Z",
          "precision": 5
        },
        "subAccount": "1234567",
        "status": "done",
        "type": "deposit",
        "order": {
          "quantity": 0.000992,
          "executed": 63.671567540359,
          "avgPrice": 64262.14,
          "createdAt": "2024-06-22 17:06:21"
        },
        "network": "BTC",
        "createdAt": "2024-06-22 17:06:13",
        "transferredAt": "2024-06-22 17:06:38",
        "provider": null,
        "correlationId": null,
        "withdrawFee": null,
        "supplier": "Binance",
        "addressBlocked": false
      },
      {
        "id": 2,
        "address": "blockchainAddress",
        "tag": null,
        "amount": "0.0010196600",
        "txId": "txId",
        "trackId": null,
        "transactionId": "mockID",
        "coin": {
          "id": 225,
          "coin": "BTC",
          "active": true,
          "created_at": "2022-08-13T13:20:54.000000Z",
          "updated_at": "2022-08-13T13:20:54.000000Z",
          "precision": 5
        },
        "subAccount": "1234567",
        "status": "done",
        "type": "deposit",
        "order": {
          "quantity": 0.001019,
          "executed": 66.309056056933,
          "avgPrice": 65150.8334249264,
          "createdAt": "2024-06-19 17:02:11"
        },
        "network": "BTC",
        "createdAt": "2024-06-19 17:02:05",
        "transferredAt": "2024-06-19 17:02:29",
        "provider": null,
        "correlationId": null,
        "withdrawFee": null,
        "supplier": "Binance",
        "addressBlocked": false
      }
    ]
  },
  "error": null,
  "paginate": false,
  "message": null
}

This endpoint retrieves transactions by filters.

HTTP Request

GET /api/v1/transactions

URL Parameters

Parameter Description Optional
ids[] IDs of transactions no

Private APIs

We will provide the separated Private APIs documentation with API key.

Errors

The Bitbox API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The item requested is hidden for administrators only.
404 Not Found -- The specified item could not be found.
405 Method Not Allowed -- You tried to access an item with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The item requested has been removed from our servers.
429 Too Many Requests -- You're requesting too many requests! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.