v1

latestOpenAPI 3.0.32026-07-2639188178.2 KB
wallets

Get wallet balance chart

This endpoint returns a portfolio balance chart for a wallet. 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 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/wallets/{address}/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.

string required

Ethereum-compatible address (EVM).

OR
string required

Solana address

Example:0x42b9df65b219b3dd36ff330a4dd8f327a6ada990

The web3 wallet address. Must be a valid EVM or Solana address. Returns 400 if the address is not tracked by Zerion.

Query parameters

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 chart

Example response

{
  "links": {
    "self": "https://api.zerion.io/v1/wallets/0x42b9df65b219b3dd36ff330a4dd8f327a6ada990/charts/day"
  },
  "data": {
    "id": "0x42b9df65b219b3dd36ff330a4dd8f327a6ada990-day",
    "attributes": {
      "begin_at": "2023-01-18T11:00:00Z",
      "end_at": "2023-01-25T10:30:00Z",
      "points": [
        [
          1674039600,
          1145.00999
        ]
      ]
    }
  }
}