Balances
What is this endpoint for?
This endpoint offers in-depth insights into Bitcoin wallets including transfers and wallet balances over time.
Endpoint
https://us.market-api.kaiko.io/v2/data/wallet.v1/audit
Parameters
Parameter
Required
Description
Example
The sorting order for the results.
Number of results to return data for. (max: 5000).
Starting time in ISO 8601 (inclusive).
Ending time in ISO 8601 (inclusive).
The transaction hash to filter on.
5ae688ab08139338e3024e150339ffa94c9d2ba23f38d0838025a41dc2fac3e6
The address to filter on.
bc1qm8ktha9m745u2gh54kprk72eu9t6n5xa2adckn
Fields
The timestamp of the block.
The address on which the row is focused.
bc1qhyar38j6catjs8y30naptzrs8jhgudhzcv8s98
e84b146c3f26545b525772a38425513f36a1738bfbb49a474aefe14a8c6d7903
334480d40ca84435bf440da99e9454cca25d06163996cd9a6ba4b517b9da1608
Transaction type.
See information below.
The index of the transaction.
internal_transaction_index
Symbol of the token or coin transfered
Inflow or outflow from the user_address.
Amount of asset transfered.
Amount of asset transferred in usd.
Wallet balance for the user_address for this asset.
Wallet balance for the user_address for this asset in usd.
Request example
curl --compressed -H "Accept: application/json" -H "X-Api-Key: <client-api-key>" \
"https://eu.market-api.kaiko.io/v2/data/wallet.v1/audit?blockchain=bitcoin"
##### 1. Import dependencies #####
import requests
import pandas as pd
##### 2. Choose the value of the query's parameters #####
# ---- Required parameters ---- #
blockchain = "bitcoin"
# ---- Optional parameters ---- #
start_time = "2022-05-01T00:00:00.000Z"
end_time = "2022-30-01T00:00:00.000Z"
page_size = 100
sort = "desc"
transaction_hash = None
user_address = "1FfmbHfnpaZjKFvyi1okTjJJusN455paPH"
# ---- API key configuration ---- #
api_key = "YOUR_API_KEY"
##### 3. Get the data #####
# ---- Function to run an API call ---- #
# Get the data in a dataframe --------- #
def get_kaiko_data(api_key: str, blockchain: str, start_time: str, end_time: str, page_size: int, sort: str, transaction_hash: str, user_address: str):
headers = {'Accept': 'application/json', 'X-Api-Key': api_key}
url = f'https://us.market-api.kaiko.io/v2/data/wallet.v1/audit'
params = {
"blockchain": blockchain,
"start_time": start_time,
"end_time": end_time,
"page_size": page_size,
"sort": sort,
"transaction_hash": transaction_hash,
"user_address": user_address
}
try:
res = requests.get(url, headers=headers, params=params)
res.raise_for_status()
data = res.json()
if 'data' not in data:
print("No data returned.")
return pd.DataFrame()
df = pd.DataFrame(data['data'])
# Handle pagination with continuation token
while 'next_url' in data:
next_url = data['next_url']
if next_url is None:
break
res = requests.get(next_url, headers=headers)
res.raise_for_status()
data = res.json()
if 'data' in data:
df = pd.concat([df, pd.DataFrame(data['data'])], ignore_index=True)
return df
except requests.exceptions.RequestException as e:
print(f"API request error: {e}")
return pd.DataFrame()
# ---- Get the data ---- #
df = get_kaiko_data(api_key=api_key, blockchain=blockchain, start_time=start_time, end_time=end_time, page_size=page_size, sort=sort, transaction_hash=transaction_hash, user_address=user_address)
print (df)
Response example
{
"query":
{
"live": "False",
"start_time": "2024-01-01T00:00:00.000Z",
"end_time": "2024-01-02T00:00:00.000Z",
"start_block": 0,
"end_block": 0,
"page_size": 100,
"sort": "0",
"data_version": "v1",
"commodity": "wallet_data",
"request_time": "2024-01-01T00:00:00.000Z"
},
"time": "2024-01-01T00:00:00.000Z",
"timestamp": 1732536300000,
"access":
{
"access_range":
{
"start_timestamp": 1073001600000,
"end_timestamp": "None"
},
"data_range":
{
"start_timestamp": "None",
"end_timestamp": "None"
}
},
"data":
[
{
"blockchain": "bitcoin",
"block_number": 871899,
"timestamp": 1732536300000000000,
"address": "bc1qt42fgv262u3d2qvpmwecpxdwfmxpjug6mxn532",
"transaction_hash": "e84b146c3f26545b525772a38425513f36a1738bfbb49a474aefe14a8c6d7903",
"transaction_id": "334480d40ca84435bf440da99e9454cca25d06163996cd9a6ba4b517b9da1608",
"transaction_type": "witness_v0_keyhash",
"transaction_index": 4695,
"internal_transaction_index": 0,
"token_symbol": "BTC",
"direction": "in",
"amount": 0.00228863,
"amount_usd": 225.22022599935772,
"balance_after": 1.06076911,
"balance_after_usd": 104388.50259209116
},
/* ... */
],
"continuation_token": "xxx",
"next_url": "https://us.market-api.kaiko.io/v2/data/wallet.v1/audit?continuation_token=xxx"
}
}
Possible values for the field transaction_type
: