Per-wallet activity
curl --request GET \
--url https://api.leokit.dev/explorer/wallet/{addr}import requests
url = "https://api.leokit.dev/explorer/wallet/{addr}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.leokit.dev/explorer/wallet/{addr}', 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.leokit.dev/explorer/wallet/{addr}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.leokit.dev/explorer/wallet/{addr}"
req, _ := http.NewRequest("GET", url, nil)
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.leokit.dev/explorer/wallet/{addr}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.leokit.dev/explorer/wallet/{addr}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"address": "<string>",
"summary": {
"total_volume_usd": 123,
"transaction_count": 123,
"received_count": 123,
"first_seen": "2023-11-07T05:31:56Z",
"last_seen": "2023-11-07T05:31:56Z",
"avg_swap_usd": 123
},
"relations": {
"frequent_counterparts": [
{
"address": "<string>",
"count": 123,
"volume_usd": 123
}
],
"received_from": [
{
"address": "<string>",
"count": 123,
"volume_usd": 123
}
]
},
"top_pairs": [
{}
],
"volume_timeline": [
{
"date": "<string>",
"count": 123,
"volume_usd": 123
}
],
"activity_heatmap": [
{
"date": "<string>",
"count": 123
}
],
"recent_txs": [
{
"id": "<string>",
"tx_hash": "<string>",
"from_asset": "<string>",
"to_asset": "<string>",
"from_address": "<string>",
"to_address": "<string>",
"volume_usd": 123,
"protocol": "<string>",
"swap_date": "2023-11-07T05:31:56Z",
"from_symbol": "<string>",
"to_symbol": "<string>",
"from_chain": "<string>",
"to_chain": "<string>"
}
]
}
}Explorer API
Wallet
Per-wallet activity summary, top pairs, frequent counterparts, and a 365-day heatmap
GET
/
explorer
/
wallet
/
{addr}
Per-wallet activity
curl --request GET \
--url https://api.leokit.dev/explorer/wallet/{addr}import requests
url = "https://api.leokit.dev/explorer/wallet/{addr}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.leokit.dev/explorer/wallet/{addr}', 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.leokit.dev/explorer/wallet/{addr}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.leokit.dev/explorer/wallet/{addr}"
req, _ := http.NewRequest("GET", url, nil)
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.leokit.dev/explorer/wallet/{addr}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.leokit.dev/explorer/wallet/{addr}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"address": "<string>",
"summary": {
"total_volume_usd": 123,
"transaction_count": 123,
"received_count": 123,
"first_seen": "2023-11-07T05:31:56Z",
"last_seen": "2023-11-07T05:31:56Z",
"avg_swap_usd": 123
},
"relations": {
"frequent_counterparts": [
{
"address": "<string>",
"count": 123,
"volume_usd": 123
}
],
"received_from": [
{
"address": "<string>",
"count": 123,
"volume_usd": 123
}
]
},
"top_pairs": [
{}
],
"volume_timeline": [
{
"date": "<string>",
"count": 123,
"volume_usd": 123
}
],
"activity_heatmap": [
{
"date": "<string>",
"count": 123
}
],
"recent_txs": [
{
"id": "<string>",
"tx_hash": "<string>",
"from_asset": "<string>",
"to_asset": "<string>",
"from_address": "<string>",
"to_address": "<string>",
"volume_usd": 123,
"protocol": "<string>",
"swap_date": "2023-11-07T05:31:56Z",
"from_symbol": "<string>",
"to_symbol": "<string>",
"from_chain": "<string>",
"to_chain": "<string>"
}
]
}
}Endpoint
GET /leokit/explorer/wallet/{addr}
Request
| Path parameter | Type | Required | Description |
|---|---|---|---|
addr | string | Yes | Wallet address (max 200 chars) |
Response
{
"data": {
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"summary": {
"total_volume_usd": 482015.67,
"transaction_count": 122,
"received_count": 14,
"first_seen": "2025-08-15T09:14:22.000Z",
"last_seen": "2026-04-27T18:32:11.000Z",
"avg_swap_usd": 3950.95
},
"relations": {
"frequent_counterparts": [
{ "address": "bc1q...", "count": 14, "volume_usd": 122480.55 }
],
"received_from": [
{ "address": "0x1234...", "count": 3, "volume_usd": 9420.10 }
]
},
"top_pairs": [
{
"from_symbol": "USDC",
"to_symbol": "BTC",
"from_asset": "ETH.USDC-0xA0b...",
"to_asset": "BTC.BTC",
"count": 24,
"volume_usd": 122480.55
}
],
"volume_timeline": [
{ "date": "2026-04-01", "count": 4, "volume_usd": 12480.55 }
],
"activity_heatmap": [
{ "date": "2026-04-28", "count": 3 }
],
"recent_txs": [
/* up to 10 ExplorerTransaction objects, newest first */
]
}
}
Field Reference
summary
| Field | Description |
|---|---|
total_volume_usd | USD volume sent (where address is from_address) |
transaction_count | Swaps initiated by this wallet |
received_count | Swaps where this wallet was the recipient (excluding self-sends) |
first_seen | Oldest swap timestamp (ISO-8601) |
last_seen | Most recent swap timestamp |
avg_swap_usd | total_volume_usd / transaction_count |
relations
| Field | Description |
|---|---|
frequent_counterparts | Top 5 destination addresses this wallet sent to |
received_from | Top 5 source addresses that sent here (and aren’t this wallet) |
top_pairs
Top 8 sent-from-this-wallet pairs by count.
volume_timeline
Last 30 days, daily buckets. Days with no activity are omitted.
activity_heatmap
Last 365 days, daily buckets, count only (no volume). For dashboard heatmap rendering.
recent_txs
Up to 10 most recent swaps initiated by this wallet (ExplorerTransaction shape — see overview).
Errors
| Status | Description |
|---|---|
400 | Missing addr or longer than 200 chars |
404 | No swaps found from or to this address |
Caching
Cache-Control: public, max-age=60. The cache is per-address.
Examples
curl "https://api.leokit.dev/leokit/explorer/wallet/0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
curl "https://api.leokit.dev/leokit/explorer/wallet/bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh"
curl "https://api.leokit.dev/leokit/explorer/wallet/thor1abc..."
⌘I