Skip to main content
Get deposit/withdraw history
curl --request POST \
  --url https://whitebit.com/api/v4/main-account/history \
  --header 'Content-Type: application/json' \
  --header 'X-TXC-APIKEY: <api-key>' \
  --header 'X-TXC-PAYLOAD: <api-key>' \
  --header 'X-TXC-SIGNATURE: <api-key>' \
  --data '
{
  "transactionMethod": 1,
  "ticker": "BTC",
  "offset": 0,
  "limit": 100,
  "status": [
    3,
    7
  ],
  "request": "{{request}}",
  "nonce": 1594297865000
}
'
import requests

url = "https://whitebit.com/api/v4/main-account/history"

payload = {
    "transactionMethod": 1,
    "ticker": "BTC",
    "offset": 0,
    "limit": 100,
    "status": [3, 7],
    "request": "{{request}}",
    "nonce": 1594297865000
}
headers = {
    "X-TXC-APIKEY": "<api-key>",
    "X-TXC-PAYLOAD": "<api-key>",
    "X-TXC-SIGNATURE": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {
    'X-TXC-APIKEY': '<api-key>',
    'X-TXC-PAYLOAD': '<api-key>',
    'X-TXC-SIGNATURE': '<api-key>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    transactionMethod: 1,
    ticker: 'BTC',
    offset: 0,
    limit: 100,
    status: [3, 7],
    request: '{{request}}',
    nonce: 1594297865000
  })
};

fetch('https://whitebit.com/api/v4/main-account/history', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://whitebit.com/api/v4/main-account/history",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'transactionMethod' => 1,
    'ticker' => 'BTC',
    'offset' => 0,
    'limit' => 100,
    'status' => [
        3,
        7
    ],
    'request' => '{{request}}',
    'nonce' => 1594297865000
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "X-TXC-APIKEY: <api-key>",
    "X-TXC-PAYLOAD: <api-key>",
    "X-TXC-SIGNATURE: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://whitebit.com/api/v4/main-account/history"

	payload := strings.NewReader("{\n  \"transactionMethod\": 1,\n  \"ticker\": \"BTC\",\n  \"offset\": 0,\n  \"limit\": 100,\n  \"status\": [\n    3,\n    7\n  ],\n  \"request\": \"{{request}}\",\n  \"nonce\": 1594297865000\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-TXC-APIKEY", "<api-key>")
	req.Header.Add("X-TXC-PAYLOAD", "<api-key>")
	req.Header.Add("X-TXC-SIGNATURE", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://whitebit.com/api/v4/main-account/history")
  .header("X-TXC-APIKEY", "<api-key>")
  .header("X-TXC-PAYLOAD", "<api-key>")
  .header("X-TXC-SIGNATURE", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"transactionMethod\": 1,\n  \"ticker\": \"BTC\",\n  \"offset\": 0,\n  \"limit\": 100,\n  \"status\": [\n    3,\n    7\n  ],\n  \"request\": \"{{request}}\",\n  \"nonce\": 1594297865000\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://whitebit.com/api/v4/main-account/history")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-TXC-APIKEY"] = '<api-key>'
request["X-TXC-PAYLOAD"] = '<api-key>'
request["X-TXC-SIGNATURE"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"transactionMethod\": 1,\n  \"ticker\": \"BTC\",\n  \"offset\": 0,\n  \"limit\": 100,\n  \"status\": [\n    3,\n    7\n  ],\n  \"request\": \"{{request}}\",\n  \"nonce\": 1594297865000\n}"

response = http.request(request)
puts response.read_body
{ "limit": 100, "offset": 0, "records": [ { "address": "3ApEASLcrQtZpg1TsssFgYF5V5YQJAKvuE", "unique_id": null, "createdAt": 1593437922, "currency": "Bitcoin", "ticker": "BTC", "method": 1, "amount": "0.0006", "description": "", "memo": "", "fee": "0", "status": 15, "network": null, "transactionHash": "a275a514013e4e0f927fd0d1bed215e7f6f2c4c6ce762836fe135ec22529d886", "transaction_id": "5e112b38-9652-11ed-a1eb-0242ac120002", "details": { "partial": { "requestAmount": "50000", "processedAmount": "39000", "processedFee": "273", "normalizeTransaction": "" } }, "confirmations": { "actual": 1, "required": 2 } } ], "total": 300 }

Rate limit

Authorizations

X-TXC-APIKEY
string
header
required

The public WhiteBIT API key.

X-TXC-PAYLOAD
string
header
required

Base64-encoded JSON request body.

X-TXC-SIGNATURE
string
header
required

HMAC-SHA512 signature of the payload, hex-encoded. Computed as hex(HMAC-SHA512(payload, api_secret)).

Body

application/json
request
string
required

Request signature

Example:

"{{request}}"

nonce
integer
required

Unique request identifier

Example:

1594297865000

transactionMethod
enum<integer>

Method. Example: 1 to display deposits / 2 to display withdraws. Do not send this parameter in order to receive both deposits and withdraws.

Available options:
1,
2
Example:

1

ticker
string

Currency's ticker. Example: BTC

Example:

"BTC"

address
string

Can be used for filtering transactions by specific address.

Example:

"3ApEASLcrQtZpg1TsssFgYF5V5YQJAKvuE"

memo
string

Can be used for filtering transactions by specific memo

Example:

"48565488244493"

addresses
string[]

Can be used for filtering transactions by specific array of addresses.

Maximum array length: 20
Example:
["3ApEASLcrQtZpg1TsssFgYF5V5YQJAKvuE"]
unique_id
string

Can be used for filtering transactions by specific unique id

Example:

"24529041"

limit
integer
default:50

LIMIT is a special clause used to limit records a particular query can return. Default: 50, Min: 1, Max: 500

Required range: 1 <= x <= 500
Example:

100

offset
integer
default:0

Use the OFFSET clause to return entries starting from a particular line.

Required range: 0 <= x <= 10000
Example:

0

status
integer[]

Can be used for filtering transactions by status codes.

⚠️ Caution: Use this parameter with the appropriate transactionMethod and valid status codes for that method. See the endpoint description above for valid codes. Example: "status": [3,7]

Example:
[3, 7]

Response

All validations succeeded and creating transaction is started

limit
integer
offset
integer
records
object[]
total
integer

Total number of transactions, use this for calculating 'limit' and 'offset'