Skip to content
Indexer AccessAPI reference

Wallets

Holdings, portfolio, positions and PnL, trades, transfers, transactions, activity and the funding graph.

Everything keyed by a wallet address. Balances are the running signed sum of decoded transfers rather than balanceOf calls, so a holdings row exists only while the balance is non-zero. Routes whose coverage is partial say so on every response.

18 routes. Every path below is served under /index/v1/{chain}, and every request carries an x-api-key header, so those two are not repeated per route. The shared contract for pagination, snapshots, precision and absence is in Read API.

Wallet Activity

GET /wallets/{address}/activity

Unified feed merging transactions, transfers and swaps into parent entries with typed child events.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.

Wallet Assets

GET /wallets/{address}/assets

What the wallet currently holds. A row exists only while the balance is non-zero, so this is holdings, not ever-held. sort=token (default) walks interned token-id order (asc/desc). sort=usd ranks by balanceUsd.value descending with unpriced rows last (token-id order, reason on balanceUsd.reason); sort=balance ranks by raw smallest-unit balance descending (a quantity order across different decimals, not a value order). Both ranked sorts are descending only, read at most sortBudget (500) assets, and set sortTruncated: true when the wallet holds more: the ranking then covers the first 500 by token id and says so. Ranked paging uses a (class, key, tokenId) cursor and is exact within one ranking. limit 1..=100.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.

Wallet Cohorts

GET /wallets/{address}/cohorts

Cohorts this wallet belongs to. Funding memberships a current entity override screens out are dropped and listed in screened/screenedOut.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.

Wallet First Seen

GET /wallets/{address}/first-seen

When the wallet was first observed.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.

Wallet Funded By

GET /wallets/{address}/funded-by

Earliest incoming value transfer per asset, and who sent it.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.

Wallet Funded By All

GET /wallets/{address}/funded-by-all

Every funder edge rather than only the earliest.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.

Wallet Funded Siblings

GET /wallets/{address}/funded-siblings

Wallets sharing a funder with this one.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.

Wallet Funder Of

GET /wallets/{address}/funder-of

The reverse edge: everything this wallet funded.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.

Wallet Internal Transfers

GET /wallets/{address}/internal

Internal value transfers and contract creations the address took part in.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.

Wallet Overview

GET /wallets/{address}/overview

First-paint composite for a wallet. Bounded aggregate, not a page. cohortsComplete/cohortsIncompleteReason/fundingGeneration qualify the embedded cohort list.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.

Wallet PnL

GET /wallets/{address}/pnl

Bounded PnL aggregate that publishes its own scan bounds and completeness rather than paginating.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.

Wallet Token PnL

GET /wallets/{address}/pnl/{token}

PnL detail for a single token.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
tokenpathyes0x-prefixed 20-byte hex address.

Wallet PnL Daily

GET /wallets/{address}/pnl/daily

Daily realised series for one (token, quote) pair.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
tokenqueryyestoken and quote are required. A daily series is always scoped to one (token, quote) pair; a wallet-wide series across every token is not served by this route.
quotequeryyestoken and quote are required. A daily series is always scoped to one (token, quote) pair; a wallet-wide series across every token is not served by this route.
from_dayquerynoInclusive lower bound on day (a UTC day index, not a timestamp: see the response's own day/dayStartUnix). Defaults to no floor.
to_dayquerynoInclusive upper bound on day. Defaults to no ceiling.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.

Wallet Portfolio

GET /wallets/{address}/portfolio

Net worth with coverage: what could be marked, what could not and why, and the basis split. Inclusion predicates are caller-chosen.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
predicatequerynoWhich published inclusion predicate produced the total: all (default), liquid, verified_contracts, or no_privileged_action_observed. An unrecognized name is refused rather than defaulted.

Wallet Positions

GET /wallets/{address}/positions

Per-token WAC positions with realised and unrealised components, paged by token.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.
hide_smallquerynoDecimal token-smallest-unit threshold; a non-negative row below it is dropped.
selloutquerynoOptional holdings filters. hide_small drops rows below the given smallest-unit threshold; sellout and hide_abnormal drop fully exited and anomalous rows. Filters never change paging: the cursor walks the same underlying set either way.
hide_abnormalquerynoOptional holdings filters. hide_small drops rows below the given smallest-unit threshold; sellout and hide_abnormal drop fully exited and anomalous rows. Filters never change paging: the cursor walks the same underlying set either way.
sortquerynoAccepted as a name but always refused: this route's ordering is fixed and cannot be re-sorted.

Wallet Trades

GET /wallets/{address}/trades

Wallet swap history. The wallet is the transaction origin, never the router recipient. quote.decimals falls back to the strict token-metadata observation when the pool-quote row never resolved it; quote.decimalsProvenance names the source.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.

Wallet Transactions

GET /wallets/{address}/transactions

Top-level transactions where the wallet is origin or recipient, merged and deduplicated.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.

Wallet Transfers

GET /wallets/{address}/transfers

Direction-aware transfer history. Native rows carry a reserved asset kind rather than a zero address.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract.

View this page as Markdown