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}/activityUnified feed merging transactions, transfers and swaps into parent entries with typed child events.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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}/assetsWhat 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.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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}/cohortsCohorts this wallet belongs to. Funding memberships a current entity override screens out are dropped and listed in screened/screenedOut.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page 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-seenWhen the wallet was first observed.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
Wallet Funded By
GET /wallets/{address}/funded-byEarliest incoming value transfer per asset, and who sent it.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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-allEvery funder edge rather than only the earliest.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
Wallet Funded Siblings
GET /wallets/{address}/funded-siblingsWallets sharing a funder with this one.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
Wallet Funder Of
GET /wallets/{address}/funder-ofThe reverse edge: everything this wallet funded.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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}/internalInternal value transfers and contract creations the address took part in.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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}/overviewFirst-paint composite for a wallet. Bounded aggregate, not a page. cohortsComplete/cohortsIncompleteReason/fundingGeneration qualify the embedded cohort list.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
Wallet PnL
GET /wallets/{address}/pnlBounded PnL aggregate that publishes its own scan bounds and completeness rather than paginating.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
Wallet Token PnL
GET /wallets/{address}/pnl/{token}PnL detail for a single token.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
token | path | yes | 0x-prefixed 20-byte hex address. |
Wallet PnL Daily
GET /wallets/{address}/pnl/dailyDaily realised series for one (token, quote) pair.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
token | query | yes | token 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. |
quote | query | yes | token 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_day | query | no | Inclusive lower bound on day (a UTC day index, not a timestamp: see the response's own day/dayStartUnix). Defaults to no floor. |
to_day | query | no | Inclusive upper bound on day. Defaults to no ceiling. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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}/portfolioNet worth with coverage: what could be marked, what could not and why, and the basis split. Inclusion predicates are caller-chosen.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
predicate | query | no | Which 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}/positionsPer-token WAC positions with realised and unrealised components, paged by token.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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_small | query | no | Decimal token-smallest-unit threshold; a non-negative row below it is dropped. |
sellout | query | no | Optional 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_abnormal | query | no | Optional 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. |
sort | query | no | Accepted as a name but always refused: this route's ordering is fixed and cannot be re-sorted. |
Wallet Trades
GET /wallets/{address}/tradesWallet 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.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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}/transactionsTop-level transactions where the wallet is origin or recipient, merged and deduplicated.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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}/transfersDirection-aware transfer history. Native rows carry a reserved asset kind rather than a zero address.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort 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. |