On-chain
Who owns an address, where its money came from and went, which tokens are moving and who holds them, on Ethereum, BNB Chain, Base and HyperEVM.
Who owns an address, where its money came from and where it went, which tokens are moving and who holds them: wallets,
tokens, transfers and labels on ethereum, bsc, base and hyperevm, over the /v1/onchain routes.
What it answers
Each recipe answers one question with a call you can copy and a real response. All recipes lists every one by number.
The data behind it
| Dataset | Kind | What it holds |
|---|---|---|
| Token transfers | data | Who bought and who sold a token over a period, aggregated from raw transfers. |
| Wallet labels | data | Entity, wallet type and risk flag per address — plus which source claimed what. |
| Token holders | data | Holder leaderboard per token, ranked by cumulative net inflow in USD. |
| Wallet summary & PnL | analytics | A wallet's volume, inflow, outflow and net flow per window, and a daily net-flow series. |
| Token screener | analytics | Tokens ranked by window volume, net inflow, holder count or smart-money inflow. |
| Wallet discovery | analytics | A leaderboard of active wallets on one chain, ranked by volume, inflow, outflow, net flow, transaction count or realized PnL over 24h, 7d, 30d, 90d or all time (on Base and HyperEVM the rolling windows only while their daily refresh is under 2 days old); round-trip hubs are hidden by default. |
| Counterparties, trace & compare | analytics | Who a wallet deals with: its top counterparties by transfer volume, a multi-hop trace of the money in, out or both, and the counterparties and tokens two wallets share, each with labels. |
| First funder, exchange usage & transactions | analytics | A wallet's earliest inbound native and token transfers with each sender's label, the centralised exchanges it sent to and received from, and its raw transfer list. |
| Wallet balances | analytics | A wallet's current token balances on Ethereum, BNB Chain, Base and HyperEVM, fetched from the chain at request time, with a USD value where the token is priced. |
Endpoints
| Endpoint | Request | What it returns |
|---|---|---|
| Compare wallets | GET /v1/onchain/wallets/compare | Are these two wallets related? |
| Discover wallets | GET /v1/onchain/wallets/discover | Leaderboard of active wallets. |
| Wallet summary | GET /v1/onchain/wallets/{address} | Aggregate metrics for one wallet — volume, inflow, outflow, net flow, transaction count and tokens traded, across the 24h / 7d / 30d / 90d / all windows in a single response. |
| Wallet transactions | GET /v1/onchain/wallets/{address}/transactions | The raw transfer list for a wallet: individual transfers, not aggregates. |
| Wallet counterparties | GET /v1/onchain/wallets/{address}/counterparties | The addresses this wallet transacted with most, by combined transfer volume over a window. |
| Wallet net-flow history | GET /v1/onchain/wallets/{address}/pnl | A daily net-flow series for the wallet — per-day net inflow USD, a cumulative figure, gross volume and transaction count. |
| Wallet token balances | GET /v1/onchain/wallets/{address}/balances | Current token balances for a wallet on Ethereum, BSC, Base and HyperEVM, read from the chain at request time, with a USD value where the token is priced. |
| Trace a wallet's funds | GET /v1/onchain/wallets/{address}/trace | Follow the money — expand at each hop to the top counterparties by USD volume, outward, inward or both, up to a chosen depth. |
| ENS name of a wallet | GET /v1/onchain/wallets/{address}/ens | Reverse ENS lookup — turn an address into vitalik.eth. |
| Wallet first funder | GET /v1/onchain/wallets/{address}/first-funder | The earliest inbound transfers of a wallet, as two separate answers: first_native_in (the first plain send of the chain's coin) and first_token_in (the first priced token transfer), each with the sender, its label, time, transaction hash, block and amounts. |
| Wallet exchange usage | GET /v1/onchain/wallets/{address}/exchange-usage | Which centralised exchanges a wallet sent to and received from over a window: USD sent and received, transfer counts and first and last contact per exchange, plus pattern: "sweeps_to_single_cex" when at least 90% of the wallet's outgoing USD went to one exchange across at least 3 transfers. |
| Batch wallet labels | POST /v1/onchain/labels/batch | Enrich a list of addresses in one call: entity, wallet type, risk flag, 30-day net flow, 30-day volume and 30-day transaction count, one row per input address in input order. |
| Wallet label provenance | GET /v1/onchain/labels/{address}/provenance | Which source claimed what about this wallet. |
| Token search | GET /v1/onchain/tokens/search | Resolve a symbol or name to the tokens we know about. |
| Token screener | GET /v1/onchain/tokens/screener | Find tokens by activity within a window — rank by volume, net inflow, holder count or smart- money inflow. |
| Token transfers | GET /v1/onchain/tokens/{token_address}/transfers | Who bought and who sold a token over a period — the top buyers or the top sellers with quantities and USD values. |
| Token holders | GET /v1/onchain/tokens/{token_address}/holders | The holder leaderboard for a token, ranked by cumulative net inflow USD. |
What every route in this namespace shares, the chains, the single page of results and the applied caps, is on On-chain endpoints.
Before you rely on it
Before you rely on it lists what the field names do not tell you, and Wallet labels explains where a label comes from and how sure it is.