LogoLogo
  • Kaiko Knowledge Hub
  • General
    • 👋Introduction
    • 🏎️Getting Started
      • API input
      • API output
        • "taker_side_sell" Explained
        • Market open and close
        • Timestamp
      • Authentication
      • Data versioning
      • Envelope
      • Error codes
      • Pagination
      • Rate limiting
  • Data Feeds
    • Introduction
    • Level 1 & Level 2 Data
      • Level 1 Aggregations
        • Trade Count, OHLCV, & VWAP
          • OHLCV only
          • VWAP only
      • Level 1 Tick-Level
        • All trades
        • Derivative liquidation events
        • Borrows, repayments, liquidations, and withdrawals
      • Level 2 Aggregations
        • Market depth (snapshot)
        • Market depth (aggregation)
        • Price slippage (snapshot)
        • Price slippage (aggregation)
        • Bid-ask spread (aggregation)
        • Tokens in a liquidity pool
          • Tokens in a liquidity pool (Uniswap v3)
        • Interest rates, borrowed and deposited amounts
        • Raw order book snapshot
          • Raw order book snapshot + market depth, bid/ask spread & price slippage
      • Level 2 Tick-Level
        • Mints and burns
    • Reference Data
      • Free tier
        • Asset codes
        • Exchange codes
        • Exchange trading pair codes (instruments)
        • Lending protocol codes
        • Blockchain codes
      • Advanced tier
        • Derivatives contract details
        • Derivatives price details
      • Premium tier
        • Market capitalization and circulating supply (BETA)
  • ANALYTICS Solutions
    • Introduction
    • Kaiko Fair Market Value
      • Kaiko Fair Market Value (Direct prices for high liquidity pairs)
      • Kaiko Fair Market Value (Synthetic prices for low liquidity pairs)
        • Convert with Oanda FX Rates
    • Kaiko Derivatives Risk Indicators
      • Exchange-provided metrics
      • Token-level liquidation volumes
      • Implied volatility calculation - smile
      • Implied volatility calculation - surface
    • Kaiko Portfolio Risk & Performance
      • Value at risk calculation
      • Custom valuation
  • Monitoring Solutions
    • Kaiko Market Explorer
      • Assets
      • Exchanges
    • Kaiko Blockchain Monitoring
      • Ethereum Wallets
        • Balances and transactions
      • Bitcoin Wallets
        • Balances
        • Transaction
      • Solana Wallets
        • Balances and transactions
      • Provenance Wallets
        • Balances and transactions
  • Misc & Legacy endpoints
    • CME
Powered by GitBook
On this page
  • Endpoint
  • Parameters
  • Fields
  • Request example
  • Response example
  • Possible values for the field transaction_type:

Was this helpful?

Export as PDF
  1. Monitoring Solutions
  2. Kaiko Blockchain Monitoring
  3. Ethereum Wallets

Balances and transactions

Endpoint

https://us.market-api.kaiko.io/v2/data/wallet.v1/audit

Parameters

Parameter
Description
Example
Required?

blockchain

Always ethereum.

ethereum

sort

The sorting order for the results.

asc or desc

page_size

Number of results to return data for. (max: 5000).

100

start_time

Starting time in ISO 8601 (inclusive).

2022-05-01T00:00:00.000Z

end_time

Ending time in ISO 8601 (inclusive).

2022-05-01T00:00:00.000Z

transaction_hash

The transaction hash to filter on.

0xf7825247b9a9355c0fb45ec0d008fe638ce5bae9cb877c6a28a91d9ea5f17341

user_address

The address to filter on.

0x000000fee13a103a10d593b9ae06b3e05f2e7e1c

token_address

The token address to filter on.

0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

Fields

Field
Description
Example

chain

Blockchain name.

ethereum

block_number

The height of the block.

7005997

timestamp

The timestamp of the block.

1546560004

user_address

The address on which the row is focused.

0xc8c939539efb7f5ba903fc99b61656979c46c045

transaction_hash

Transaction hash.

0x5a9e11432e5c7e2fccf598606858619cbd72f1de40db625fc4749ec1b032e144

transaction_type

token_transfer

transaction_index

The index of the transaction.

0

ordinal

Generated number that gives the order of each balance impact, for one file. Based on call index and log indexes.

2

sender_address

The address that sends tokens or coins.

0xc8c939539efb7f5ba903fc99b61656979c46c045

receiver_address

The address that receives tokens or coins.

0x5a0b54d5dc17e0aadc383d2db43b0a0d3e029c4c

initiator_address

The address that signed the transaction.

0xc8c939539efb7f5ba903fc99b61656979c46c045

token_symbol

Symbol of the token or coin transfered

ETH

token_address

The address of the token or coin transfered.

0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

direction

Inflow or outflow from the user_address.

out

amount

Amount of asset transfered.

0.16

amount_usd

Amount of asset transferred in usd.

23.863262042004745

balance_after

Wallet balance for the user_address for this asset.

0.4814735188

balance_after_usd

Wallet balance for the user_address for this asset in usd.

71.80955465881561

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=ethereum"
##### 1. Import dependencies #####
import requests
import pandas as pd

##### 2. Choose the value of the query's parameters #####
# ---- Required parameters ---- #
blockchain = "ethereum" 

# ---- Optional parameters ---- #
start_time = "2025-03-05T00:00:00Z"
end_time = "2025-03-05T00:02:00Z"
page_size = 100
sort = "desc"
transaction_hash = None
user_address = None
token_address = None

# ---- 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, token_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,
        "token_address": token_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, token_address=token_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": 1732530743000,
    "access":
    {
        "access_range":
        {
            "start_timestamp": 1073001600000,
            "end_timestamp": "None"
        },
        "data_range":
        {
            "start_timestamp": "None",
            "end_timestamp": "None"
        }
    },
    "data":
    [
    	{
            "chain": "ethereum",
            "block_number": 21264197,
            "timestamp": 1732530743000000000,
            "user_address": "0xd2674da94285660c9b2353131bef2d8211369a4b",
            "transaction_hash": "0x4ae1bc32d34a7b66fd23c6527a46cf9bb3158452044eea43762e351aa2fdabca",
            "transaction_type": "coin_transfer",
            "transaction_index": 188,
            "ordinal": 0,
            "sender_address": "0xd2674da94285660c9b2353131bef2d8211369a4b",
            "receiver_address": "0x90cdc2572f170178ac5027af0dcf141870a962e3",
            "initiator_address": "0xd2674da94285660c9b2353131bef2d8211369a4b",
            "token_symbol": "ETH",
            "token_address": "0",
            "direction": "out",
            "amount": 0.00237201,
            "amount_usd": 8.217764039189689,
            "balance_after": 6966.056486974737,
            "balance_after_usd": 24133712.966482032
        },
        /* ... */
    ],
    "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:

Value
Description

coin_transfer

Native ETH transfer.

tx_value

Native ETH transfer happening in a transaction.

token_transfer

This operation involves the transfer of (ERC20) tokens.

block_rewards

Rewards granted to the miner who mined a block before the Merge.

uncle_rewards

Rewards granted to the miner who mined an uncle block before the Merge.

uncle_inclusion_rewards

Rewards granted to the miner who included an uncle block into a mined block before the Merge.

genesis_balance

Refers to the balance attributed to addresses during the genesis block.

dao_adjust_balance

Refers to any adjustment made to an account’s balance in relation to DAO-related hard-fork or operations.

reward_transaction_fee

Reward earned by the miner for including the transaction in the block.

burnt_transaction_fee

Burnt amount of ETH transaction fees, post EIP-1559.

token_burn

Burn of a ERC20 token.

token_mint

Mint of a ERC20 token.

staking_deposit

Deposit of stake for validators.

staking_withdrawal

Withdrawal of rewards or stake for validators.

wrap_coin

Wrapping ETH into WETH.

unwrap_coin

Unwrapping WETH back to ETH.

PreviousEthereum WalletsNextBitcoin Wallets

Last updated 11 days ago

Was this helpful?

See

Event type. See more information .

Pagination
below