get_wallet_portfolio_breakdown
curl --request POST \
--url https://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"wallet_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"network": "ethereum"
}
'import requests
url = "https://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown"
payload = {
"wallet_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"network": "ethereum"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
wallet_address: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
network: 'ethereum'
})
};
fetch('https://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown', 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://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown",
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([
'wallet_address' => '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
'network' => 'ethereum'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown"
payload := strings.NewReader("{\n \"wallet_address\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"network\": \"ethereum\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"wallet_address\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"network\": \"ethereum\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"wallet_address\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"network\": \"ethereum\"\n}"
response = http.request(request)
puts response.read_body{
"total_value_displayed": "$2,500.00",
"tokens_without_price": 0,
"major_holdings": [
{
"symbol": "ETH",
"usd_value": 2500
}
],
"composition_analysis": {
"diversification": "Highly concentrated (single token)",
"note": "Analysis based on Top 1 token holdings"
},
"top_holdings": [
{
"symbol": "ETH",
"usd_value": 2500,
"chain": "ethereum",
"logo_url": null
}
]
}
Tools
get_wallet_portfolio_breakdown
Portfolio breakdown: major/top holdings, total value, and composition analysis.
POST
/
api
/
tools
/
get_wallet_portfolio_breakdown
get_wallet_portfolio_breakdown
curl --request POST \
--url https://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"wallet_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"network": "ethereum"
}
'import requests
url = "https://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown"
payload = {
"wallet_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"network": "ethereum"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
wallet_address: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
network: 'ethereum'
})
};
fetch('https://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown', 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://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown",
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([
'wallet_address' => '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
'network' => 'ethereum'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown"
payload := strings.NewReader("{\n \"wallet_address\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"network\": \"ethereum\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"wallet_address\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"network\": \"ethereum\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pro-api.nikiwa.com/api/tools/get_wallet_portfolio_breakdown")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"wallet_address\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"network\": \"ethereum\"\n}"
response = http.request(request)
puts response.read_body{
"total_value_displayed": "$2,500.00",
"tokens_without_price": 0,
"major_holdings": [
{
"symbol": "ETH",
"usd_value": 2500
}
],
"composition_analysis": {
"diversification": "Highly concentrated (single token)",
"note": "Analysis based on Top 1 token holdings"
},
"top_holdings": [
{
"symbol": "ETH",
"usd_value": 2500,
"chain": "ethereum",
"logo_url": null
}
]
}
The example uses made-up amounts and omits some response fields. See Reading the portfolio result for field meanings.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Wallet address to analyze. Use the address format for the selected network.
Network to query, for example ethereum. See Supported Networks for coverage. Use all to query supported networks together.
Maximum number of holdings to include in the result.
Response
Portfolio breakdown: major/top holdings, total value, and composition analysis. Fields vary by network and available data. Check for status: no_data, status: error, or an error field even when HTTP status is 200. See Errors & status.
The response is of type object.
Was this page helpful?