v1

latestOpenAPI 3.0.32026-07-2639188178.2 KB
wallet sets

Get wallet set balance chart

This endpoint returns a portfolio balance chart for a wallet set. A wallet set is represented by an EVM address, a Solana address, or both. At least one address must be provided. This is over a specified time period, based on the provided start and end timestamps. Results can be filtered by blockchain and asset type, offering flexible and detailed visualizations of wallet set performance, similar to what you see in the Zerion interface.

Complex positions. By default the chart counts only simple positions: token and native-coin balances held directly in the wallet. Set filter[positions] to only_complex or no_filter to also include complex DeFi protocol positions. Uniswap V2 LP positions are supported today, and support for more protocols is rolling out over time. Positions from protocols that aren't yet supported are omitted from the chart.

get/v1/wallet-sets/charts/{chart_period}

Path parameters

chart_period'hour' | 'day' | 'week' | 'month' | '3months' | '6months' | 'year' | '5years' | 'max' required

Chart period. Determines both the time window covered and the spacing between chart points (points). Each period samples the window at a fixed interval, so the number of points is roughly constant (~290–460) regardless of period:

PeriodPoint intervalTime window
hour10 secondslast 1 hour
day5 minuteslast 24 hours
week30 minuteslast 7 days
month2 hourslast 30 days
3months6 hourslast 90 days
6months12 hourslast 180 days
year1 daylast 365 days
5years4 dayslast 5 years
maxvariesfull available history

Point counts are approximate, and begin_at / end_at are aligned to the interval. For max, the interval is derived from the amount of available history (targeting ~400 points), so it varies; for wallet and wallet-set charts the spacing is at least 1 day.

Query parameters

addressesstring[] required

A list of wallet addresses forming a wallet set. example: 0x42b9df65b219b3dd36ff330a4dd8f327a6ada990,8BH9pjtgyZDC4iAQH5ZiYDZ1MDWC98xki2V8NzqqKW3K

The set must contain at least one address and may include at most one address per supported chain type (currently EVM and Solana). The order of addresses does not matter.

currency'eth' | 'btc' | 'usd' | 'eur' | 'krw' | 'rub' | 'gbp' | 'aud' | 'cad' | 'inr' | 'jpy' | 'nzd' | 'try' | 'zar' | 'cny' | 'chf'

Denominated currency value of returned prices

filter[chain_ids]string[]

Account only for balance on these chains (comma-separated list). Available chain ids can be found in chains endpoints.

[
  "aurora"
]
filter[fungible_ids]string[]

Account only for balance of given fungible assets (comma-separated list). Mutually exclusive with filter[exclude_fungible_ids] — combining both returns 400.

filter[exclude_fungible_ids]string[]

Exclude balance contributions from the given fungible assets (comma-separated list). Useful when the set you want to keep is large but the set you want to omit is small. Mutually exclusive with filter[fungible_ids] — combining both returns 400.

filter[pool_addresses]string[]

Restrict the balance chart to specific liquidity-pool / vault positions, identified by their contract address (comma-separated list) — the Uniswap V2 LP-token or ERC-4626 vault (e.g. Morpho) address. Only the matching protocol positions are charted; simple token and native-coin balances are excluded. These are complex (protocol) positions, so passing filter[positions]=only_simple alongside this filter returns 400. Mutually exclusive with filter[exclude_pool_addresses] — combining both returns 400.

filter[exclude_pool_addresses]string[]

Exclude specific liquidity-pool / vault positions from the balance chart, identified by their contract address (comma-separated list) — the Uniswap V2 LP-token or ERC-4626 vault (e.g. Morpho) address. The matching positions are removed; the rest of the portfolio (including simple balances) is kept. These are complex (protocol) positions, so passing filter[positions]=only_simple alongside this filter — which would already drop every protocol position, making the exclusion a no-op — returns 400. Mutually exclusive with filter[pool_addresses] — combining both returns 400.

filter[positions]'only_simple' | 'only_complex' | 'no_filter'

Which positions to include in the balance chart.

  • only_simple (default) — simple positions only: wallet token and native-coin balances.
  • only_complex — complex DeFi protocol positions only (e.g. liquidity-pool and vault positions).
  • no_filter — include both simple and complex positions.

Uniswap V2 LP positions are supported today, and support for more protocols is rolling out over time.

Response

Resource for the requested wallet set chart

Example response

{
  "links": {
    "self": "https://api.zerion.io/v1/wallet-sets/charts/week?addresses=0x42b9df65b219b3dd36ff330a4dd8f327a6ada990%2C8BH9pjtgyZDC4iAQH5ZiYDZ1MDWC98xki2V8NzqqKW3K&currency=eth&filter%5Bchain_ids%5D=ethereum%2Csolana"
  },
  "data": {
    "id": "0x42b9df65b219b3dd36ff330a4dd8f327a6ada990,8BH9pjtgyZDC4iAQH5ZiYDZ1MDWC98xki2V8NzqqKW3K-week",
    "attributes": {
      "begin_at": "2023-01-18T11:00:00Z",
      "end_at": "2023-01-25T10:30:00Z",
      "points": [
        [
          1674039600,
          1145.00999
        ]
      ]
    }
  }
}