Recipe 11 of 32
Who first funded this wallet?
One call returns the first coin and the first priced token a wallet received, each with the sender, the sender's label, the time and the amount.
GET /v1/onchain/wallets/{address}/first-funder answers it in one call, as two answers: first_native_in, the
first plain send of the chain's coin, and first_token_in, the first token transfer worth at least $1. Each names
the sender (from) with its label and wallet_type. The full parameter list is on
Wallet first funder.
Quick answer
Put any 0x address in the path. chain defaults to ethereum.
# the first coin and the first priced token the wallet received, each with its sender's label
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0x556e9d5d9e64638edde632bbd4810c9fd0d88397/first-funder"Example response
Captured from the live API on 2026-10-24 at 16:57 UTC. The wallet's first ETH, 100.05 of it, came from a
Binance-labelled wallet in December 2023; its first priced token, 100 USDT, came from another Binance-labelled wallet
two years later. The coverage block is trimmed to two of its six keys.
{
"address": "0x556e9d5d9e64638edde632bbd4810c9fd0d88397",
"chain": "ethereum",
"found": true,
"first_native_in": {
"from": "0x28c6c06298d514db089934071355e5743bf21d60",
"label": "binance",
"wallet_type": "cex",
"label_confidence": "medium",
"time": "2023-12-22T02:55:35Z",
"tx_hash": "0x8b24afff9fc8195e19dba0726a77cebc73c182211059c9d0ed1b024e630ab1e6",
"block": 18838548,
"amount": 100.0468,
"amount_symbol": "ETH",
"amount_wei": "100046800000000000000",
"amount_usd": 224241.896116
},
"first_token_in": {
"from": "0x9696f59e4d72e237be84ffd425dcad154bf96976",
"label": "binance",
"wallet_type": "cex",
"label_confidence": "medium",
"time": "2025-12-25T12:28:11Z",
"tx_hash": "0xb6c5bdd7d6e58b163d1c0494e7ca37ed08c37c6216fd09a4bc39aa88cc8f9511",
"block": 24089637,
"token_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"symbol": "USDT",
"amount": 100.0,
"amount_usd": 100.0
},
"coverage": {
"history_from": "2015-08-07",
"note": "The earliest qualifying inbound transfer we hold. It is not proof of who funded the wallet: a funder can use a contract, a bridge or an exchange withdrawal, or send below the floor."
}
}Variations
On another chain. chain takes ethereum, bsc, base or hyperevm. Each chain's history starts on its own
date: on base, a capture on 2026-10-24 reported coverage.history_from as 2023-06-15.
# the same question on Base
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0x2b1e8e051d85a65306910aef136d2aebf2eaccc5/first-funder?chain=base"The very first inbound coin, dust included. By default a native send under 0.0001 coin is skipped, so a probing
dust transfer is not reported as the funder. min_native=0 removes that floor.
# the very first inbound coin, whatever its size
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0x556e9d5d9e64638edde632bbd4810c9fd0d88397/first-funder?min_native=0"Only sizeable funding. Raise both floors to skip small transfers: at least 0.5 ETH, and tokens worth at least $1,000.
# only a first coin of at least 0.5 ETH and a first token worth at least $1000
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0x556e9d5d9e64638edde632bbd4810c9fd0d88397/first-funder?min_native=0.5&min_usd=1000"Before you rely on it
The first transfer on record, not proof of who funded the wallet
Coin rows hold plain sends only. Coin moved by a contract call, a bridge relay or a batch payout is not in them, so
the real first funding can be earlier than first_native_in. The sender can be an exchange or a relay rather than
a person. Every response says this again in coverage.note.
Two answers, either of which can be missing
first_native_in and first_token_in are separate searches, and either can be null. A wallet with no inbound
transfer above the floors comes back with found: false and both sides null, not zeros.
History starts on a different date per chain
coverage.history_from is the oldest transfer date held for the chain you asked. A wallet older than that shows a
later first transfer than it really had.
Floors hide dust and unpriced tokens
min_native defaults to 0.0001 coin and min_usd to $1, so spam airdrops and tokens with no USD price are skipped.
amount_usd is null where no price is held, never 0. Pass min_usd=0 to include unpriced tokens.
A very busy wallet can answer 400
Each side of the search has a time budget. A wallet too active to resolve in it gets a 400 whose message names the
fix: retry, or pass min_native=0 and min_usd=0 to take the very first inbound transfer.
HyperEVM senders
On hyperevm, protocol system addresses appear as senders and come back with wallet_type system and no entity
name, and labels there are sparse.
Ask your agent
Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words.
The wallet_first_funder tool answers, at 2 credits a call.
Who first funded 0x556e9d5d9e64638edde632bbd4810c9fd0d88397 on Ethereum, and is the sender an exchange?