Skip to main content
GET
Get wallet fungible positions

Authorizations

Authorization
string
header
required

To test endpoints here, paste your API key from the Dashboard into the username field and leave the password empty.

Headers

X-Env
enum<string>

Set to testnet to return testnet data instead of mainnet.

Available options:
testnet

Path Parameters

address
required

The web3 wallet address. Must be a valid EVM or Solana address. The PnL endpoint additionally requires an address Zerion tracks, and returns 400 otherwise; see that endpoint's description for what that excludes. A wallet address, which can be either an EVM or Solana address

Pattern: ^0x[a-fA-F0-9]{40}$
Example:

"0x42b9df65b219b3dd36ff330a4dd8f327a6ada990"

Query Parameters

filter[positions]
enum<string>
default:only_simple

Which positions to return. Defaults to only_simple.

  • only_simple - tokens and native coins held directly in the wallet. DeFi protocol positions are left out.
  • only_complex - DeFi protocol positions only, such as staked assets and liquidity pools (for example Uniswap or Aave).
  • no_filter - both simple and protocol positions. A share token that a returned protocol position carries as receipt can be left out as its own wallet row. So no_filter can return fewer rows than only_simple and only_complex combined, and some share tokens still appear twice. See Deduplicating share tokens.

Note: only_complex and no_filter count as advanced requests. Advanced requests have their own, smaller quota within your plan, and once it's used up these requests return 429 even if your overall quota has room. Check your plan's advanced quota in the Dashboard, or contact api@zerion.io for a different plan.

Available options:
only_simple,
only_complex,
no_filter
currency
enum<string>
default:usd

Denominated currency value of returned prices

Available options:
eth,
btc,
usd,
eur,
krw,
rub,
gbp,
aud,
cad,
inr,
jpy,
nzd,
try,
zar,
cny,
chf
filter[position_types]
(enum<string> | null)[]

Keep only positions with these types (comma-separated list).

Possible values:

  • deposit - Assets deposited into a DeFi protocol (e.g., supplied to lending pools, deposited in vaults, or provided as liquidity)
  • loan - Borrowed assets representing a debt position that needs to be repaid
  • locked - Assets locked for a specific period or purpose (e.g., vote-escrowed tokens, time-locked tokens)
  • staked - Assets staked in a protocol to earn rewards, participate in consensus, or for governance purposes
  • reward - Earned rewards that are claimable or have been distributed but not yet withdrawn
  • wallet - Regular assets held directly in the wallet, not actively deposited in any protocol
  • investment - Investment positions such as tokenized funds, indices, or structured products
Maximum array length: 8

Position's type indicating how the assets are being used or their current state.

Available options:
deposit,
loan,
locked,
staked,
reward,
wallet,
investment
filter[chain_ids]
string[]

Keep only positions from these chains (comma-separated list). Only chains reporting supports_positions in the flags of GET /v1/chains/ are accepted here. Naming a chain that fails that gate returns 400 rather than an empty result, with detail reading chain <id> does not support positions (for example chain bob does not support positions). A chain of the wrong network family for the address is rejected the same way, with does not support this wallet address type. When the filter is omitted, chains that fail the gate are left out of data silently, with no error and no meta signal.

Maximum array length: 25
Example:
filter[fungible_ids]
string[]

Keep only positions for these fungible IDs (comma-separated list).

Maximum array length: 25
Maximum string length: 44
filter[dapp_ids]
string[]

Keep only positions from these dapps (comma-separated list of dapp IDs).

Maximum array length: 25
Required string length: 1 - 32
Example:
filter[trash]
enum<string>
default:only_non_trash

Filter positions by the is_trash spam flag. Defaults to only_non_trash, which leaves spam positions out.

Available options:
only_trash,
only_non_trash,
no_filter
sort
enum<string>
default:value

Sort by position value. Defaults to value, which puts the highest value first. Use -value for lowest first.

Available options:
-value,
value

Response

Response for requested list of positions

data
object[]
required