curl --request POST \
--url https://whitebit.com/api/v4/mining/rewards \
--header 'Content-Type: application/json' \
--header 'X-TXC-APIKEY: <api-key>' \
--header 'X-TXC-PAYLOAD: <api-key>' \
--header 'X-TXC-SIGNATURE: <api-key>' \
--data '
{
"account": "miner123",
"from": 1640995200,
"to": 1641081600,
"limit": 30,
"offset": 0
}
'import requests
url = "https://whitebit.com/api/v4/mining/rewards"
payload = {
"account": "miner123",
"from": 1640995200,
"to": 1641081600,
"limit": 30,
"offset": 0
}
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({account: 'miner123', from: 1640995200, to: 1641081600, limit: 30, offset: 0})
};
fetch('https://whitebit.com/api/v4/mining/rewards', 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/mining/rewards",
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([
'account' => 'miner123',
'from' => 1640995200,
'to' => 1641081600,
'limit' => 30,
'offset' => 0
]),
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/mining/rewards"
payload := strings.NewReader("{\n \"account\": \"miner123\",\n \"from\": 1640995200,\n \"to\": 1641081600,\n \"limit\": 30,\n \"offset\": 0\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/mining/rewards")
.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 \"account\": \"miner123\",\n \"from\": 1640995200,\n \"to\": 1641081600,\n \"limit\": 30,\n \"offset\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://whitebit.com/api/v4/mining/rewards")
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 \"account\": \"miner123\",\n \"from\": 1640995200,\n \"to\": 1641081600,\n \"limit\": 30,\n \"offset\": 0\n}"
response = http.request(request)
puts response.read_bodyGet Rewards
The endpoint returns rewards received from mining. Results are ordered by reward date, newest first.
The response does not include a total field. Detect the last page when
data.length < limit.
The offset parameter is capped at 10000. To paginate reward histories
beyond that, window the request by from and to (Unix timestamps).
The account filter is not validated at the request layer. An unknown or
not-owned account name is treated as an empty filter and returns HTTP 200
with an empty data array — the same response as a valid account with no
rewards in the requested window. An account without mining access also
returns empty data, so an empty response does not distinguish “no mining
access” from “no rewards in range.”
Rate limit: 1000 requests/10 sec.
The API does not cache the response.
curl --request POST \
--url https://whitebit.com/api/v4/mining/rewards \
--header 'Content-Type: application/json' \
--header 'X-TXC-APIKEY: <api-key>' \
--header 'X-TXC-PAYLOAD: <api-key>' \
--header 'X-TXC-SIGNATURE: <api-key>' \
--data '
{
"account": "miner123",
"from": 1640995200,
"to": 1641081600,
"limit": 30,
"offset": 0
}
'import requests
url = "https://whitebit.com/api/v4/mining/rewards"
payload = {
"account": "miner123",
"from": 1640995200,
"to": 1641081600,
"limit": 30,
"offset": 0
}
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({account: 'miner123', from: 1640995200, to: 1641081600, limit: 30, offset: 0})
};
fetch('https://whitebit.com/api/v4/mining/rewards', 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/mining/rewards",
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([
'account' => 'miner123',
'from' => 1640995200,
'to' => 1641081600,
'limit' => 30,
'offset' => 0
]),
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/mining/rewards"
payload := strings.NewReader("{\n \"account\": \"miner123\",\n \"from\": 1640995200,\n \"to\": 1641081600,\n \"limit\": 30,\n \"offset\": 0\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/mining/rewards")
.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 \"account\": \"miner123\",\n \"from\": 1640995200,\n \"to\": 1641081600,\n \"limit\": 30,\n \"offset\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://whitebit.com/api/v4/mining/rewards")
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 \"account\": \"miner123\",\n \"from\": 1640995200,\n \"to\": 1641081600,\n \"limit\": 30,\n \"offset\": 0\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
The public WhiteBIT API key.
Base64-encoded JSON request body.
HMAC-SHA512 signature of the payload, hex-encoded. Computed as hex(HMAC-SHA512(payload, api_secret)).
Body
Mining pool account
"miner123"
Date timestamp starting from which rewards are received
1640995200
Date timestamp until which rewards are received
1641081600
1 <= x <= 10030
0 <= x <= 100000
Was this page helpful?