Token holders
curl --request GET \
--url https://api.raze.bot/v1/tokens/{chain}/{address}/holders \
--header 'x-api-key: <api-key>'import requests
url = "https://api.raze.bot/v1/tokens/{chain}/{address}/holders"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.raze.bot/v1/tokens/{chain}/{address}/holders', 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://api.raze.bot/v1/tokens/{chain}/{address}/holders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <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"
"net/http"
"io"
)
func main() {
url := "https://api.raze.bot/v1/tokens/{chain}/{address}/holders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.raze.bot/v1/tokens/{chain}/{address}/holders")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raze.bot/v1/tokens/{chain}/{address}/holders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"wallet": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM",
"amount": 7770515063166.43,
"percent": 8.83,
"valueUsd": 29347999.1,
"boughtUsd": 0,
"soldUsd": 0,
"pnlUsd": -11011519.6,
"realizedPnlUsd": -12899808.8,
"unrealizedPnlUsd": 1888289.2,
"buys": 0,
"sells": 0,
"tags": [],
"label": null,
"fundedBy": "Binance",
"lastActiveAt": 1788763371000
}
]
}{
"error": {
"code": "bad_request",
"message": "unknown chain 'xyz', use one of: sol, eth, bsc, base, robinhood"
}
}Tokens
Token holders
The 100 largest holders, largest first. There is no further page.
GET
/
v1
/
tokens
/
{chain}
/
{address}
/
holders
Token holders
curl --request GET \
--url https://api.raze.bot/v1/tokens/{chain}/{address}/holders \
--header 'x-api-key: <api-key>'import requests
url = "https://api.raze.bot/v1/tokens/{chain}/{address}/holders"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.raze.bot/v1/tokens/{chain}/{address}/holders', 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://api.raze.bot/v1/tokens/{chain}/{address}/holders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <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"
"net/http"
"io"
)
func main() {
url := "https://api.raze.bot/v1/tokens/{chain}/{address}/holders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.raze.bot/v1/tokens/{chain}/{address}/holders")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raze.bot/v1/tokens/{chain}/{address}/holders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"wallet": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM",
"amount": 7770515063166.43,
"percent": 8.83,
"valueUsd": 29347999.1,
"boughtUsd": 0,
"soldUsd": 0,
"pnlUsd": -11011519.6,
"realizedPnlUsd": -12899808.8,
"unrealizedPnlUsd": 1888289.2,
"buys": 0,
"sells": 0,
"tags": [],
"label": null,
"fundedBy": "Binance",
"lastActiveAt": 1788763371000
}
]
}{
"error": {
"code": "bad_request",
"message": "unknown chain 'xyz', use one of: sol, eth, bsc, base, robinhood"
}
}The 100 largest holders, largest first, with what each bought, sold and earned on the token. There is no next page: the total count is
holders on the token.
label names holders that are not people (an exchange, a pool). tags are free-form wallet labels (whale, kol, sniper, …). fundedBy is who first funded the wallet, when known.Authorizations
ApiKeyHeaderBearerApiKeyQuery
Path Parameters
sol, eth, bsc, base or robinhood (or an alias or network id)
Example:
"sol"
Token address (mint or contract)
Example:
"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
Query Parameters
Required range:
x <= 100Response
Holders
Show child attributes
Show child attributes
⌘I