curl --request POST \
--url https://pro-api.nikiwa.com/api/tools/get_wallet_counterparties_analysis \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": "<string>",
"network": "<string>",
"from_date": "<string>",
"to_date": "<string>"
}
'import requests
url = "https://pro-api.nikiwa.com/api/tools/get_wallet_counterparties_analysis"
payload = {
"address": "<string>",
"network": "<string>",
"from_date": "<string>",
"to_date": "<string>"
}
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({
address: '<string>',
network: '<string>',
from_date: '<string>',
to_date: '<string>'
})
};
fetch('https://pro-api.nikiwa.com/api/tools/get_wallet_counterparties_analysis', 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_counterparties_analysis",
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([
'address' => '<string>',
'network' => '<string>',
'from_date' => '<string>',
'to_date' => '<string>'
]),
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_counterparties_analysis"
payload := strings.NewReader("{\n \"address\": \"<string>\",\n \"network\": \"<string>\",\n \"from_date\": \"<string>\",\n \"to_date\": \"<string>\"\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_counterparties_analysis")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": \"<string>\",\n \"network\": \"<string>\",\n \"from_date\": \"<string>\",\n \"to_date\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pro-api.nikiwa.com/api/tools/get_wallet_counterparties_analysis")
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 \"address\": \"<string>\",\n \"network\": \"<string>\",\n \"from_date\": \"<string>\",\n \"to_date\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"type": "counterparties_analysis",
"wallet_address": "0x1111111111111111111111111111111111111111",
"chain": "ethereum",
"most_interacted": {
"type": "counterparties",
"data": [
{
"peer": {
"address": "0x2222222222222222222222222222222222222222",
"label": null,
"tags": []
},
"tokens": [
"EXM"
],
"volume_usd": 1000,
"volume_in_usd": 750,
"volume_out_usd": 250,
"tx_count": 6
}
],
"metadata": {
"address": "0x1111111111111111111111111111111111111111",
"order_field": "interaction_count"
}
},
"top_inflow_senders": {
"type": "counterparties",
"data": [
{
"peer": {
"address": "0x2222222222222222222222222222222222222222",
"label": null,
"tags": []
},
"tokens": [
"EXM"
],
"volume_usd": 1000,
"volume_in_usd": 750,
"volume_out_usd": 250,
"tx_count": 6
}
],
"metadata": {
"address": "0x1111111111111111111111111111111111111111",
"order_field": "volume_in_usd"
}
},
"top_outflow_receivers": {
"type": "counterparties",
"data": [
{
"peer": {
"address": "0x2222222222222222222222222222222222222222",
"label": null,
"tags": []
},
"tokens": [
"EXM"
],
"volume_usd": 1000,
"volume_in_usd": 750,
"volume_out_usd": 250,
"tx_count": 6
}
],
"metadata": {
"address": "0x1111111111111111111111111111111111111111",
"order_field": "volume_out_usd"
}
}
}get_wallet_counterparties_analysis
Counterparty analysis: most-interacted + top inflow/outflow addresses for a wallet.
curl --request POST \
--url https://pro-api.nikiwa.com/api/tools/get_wallet_counterparties_analysis \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": "<string>",
"network": "<string>",
"from_date": "<string>",
"to_date": "<string>"
}
'import requests
url = "https://pro-api.nikiwa.com/api/tools/get_wallet_counterparties_analysis"
payload = {
"address": "<string>",
"network": "<string>",
"from_date": "<string>",
"to_date": "<string>"
}
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({
address: '<string>',
network: '<string>',
from_date: '<string>',
to_date: '<string>'
})
};
fetch('https://pro-api.nikiwa.com/api/tools/get_wallet_counterparties_analysis', 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_counterparties_analysis",
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([
'address' => '<string>',
'network' => '<string>',
'from_date' => '<string>',
'to_date' => '<string>'
]),
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_counterparties_analysis"
payload := strings.NewReader("{\n \"address\": \"<string>\",\n \"network\": \"<string>\",\n \"from_date\": \"<string>\",\n \"to_date\": \"<string>\"\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_counterparties_analysis")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": \"<string>\",\n \"network\": \"<string>\",\n \"from_date\": \"<string>\",\n \"to_date\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pro-api.nikiwa.com/api/tools/get_wallet_counterparties_analysis")
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 \"address\": \"<string>\",\n \"network\": \"<string>\",\n \"from_date\": \"<string>\",\n \"to_date\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"type": "counterparties_analysis",
"wallet_address": "0x1111111111111111111111111111111111111111",
"chain": "ethereum",
"most_interacted": {
"type": "counterparties",
"data": [
{
"peer": {
"address": "0x2222222222222222222222222222222222222222",
"label": null,
"tags": []
},
"tokens": [
"EXM"
],
"volume_usd": 1000,
"volume_in_usd": 750,
"volume_out_usd": 250,
"tx_count": 6
}
],
"metadata": {
"address": "0x1111111111111111111111111111111111111111",
"order_field": "interaction_count"
}
},
"top_inflow_senders": {
"type": "counterparties",
"data": [
{
"peer": {
"address": "0x2222222222222222222222222222222222222222",
"label": null,
"tags": []
},
"tokens": [
"EXM"
],
"volume_usd": 1000,
"volume_in_usd": 750,
"volume_out_usd": 250,
"tx_count": 6
}
],
"metadata": {
"address": "0x1111111111111111111111111111111111111111",
"order_field": "volume_in_usd"
}
},
"top_outflow_receivers": {
"type": "counterparties",
"data": [
{
"peer": {
"address": "0x2222222222222222222222222222222222222222",
"label": null,
"tags": []
},
"tokens": [
"EXM"
],
"volume_usd": 1000,
"volume_in_usd": 750,
"volume_out_usd": 250,
"tx_count": 6
}
],
"metadata": {
"address": "0x1111111111111111111111111111111111111111",
"order_field": "volume_out_usd"
}
}
}Reading the result
The response example uses made-up values and shows selected fields. Fields vary by network and available data.-
most_interacted,top_inflow_senders, andtop_outflow_receiverseach contain a counterparties result, ranked by interaction count, inbound USD volume, or outbound USD volume. - Each group contains up to five counterparties. The same address can appear in more than one group.
-
Check each group’s
metadatafortx_derivedandtx_notewhen the analysis uses a recent transaction sample.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Wallet address to analyze on the selected network.
Network to query, for example ethereum. See Supported Networks for coverage.
Start of the requested date range, in YYYY-MM-DD format. Omit to use the default date range.
End of the requested date range, in YYYY-MM-DD format. Omit to use the default date range.
Response
Counterparty analysis: most-interacted + top inflow/outflow addresses for a wallet. 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.
Response fields depend on the network and available data. The example shows selected fields; see Reading the result for details.
Was this page helpful?