This endpoint returns a list of wallet positions.
This endpoint supports testnets. To get data for testnets use X-Env header.
Understanding Liquidity Pool Positions:
Liquidity pools (Uniswap, Curve, Balancer, etc.) return multiple positions - one for each token in the pool. Positions belonging to the same pool share the same group_id value in attributes.
For example, a Uniswap V2 USDC/WETH pool returns two positions:
group_id="820ee2f1ca8ccb716f6beb5e450908a028be890ec44aba87c739b416ef41e197", fungible_info.symbol="WETH"group_id="820ee2f1ca8ccb716f6beb5e450908a028be890ec44aba87c739b416ef41e197", fungible_info.symbol="USDC"To display all tokens in a liquidity pool together, group positions by their group_id attribute.
Temporary limitations for Solana addresses:
NOTE: Don’t forget to stop retries after some reasonable period of time. If the
200status is not returned within 2 minutes it most probably means that some unexpected error occurred and the client should stop the polling.
NOTE: This endpoint supports a lot of filters, sorting and pagination parameters. Make sure that a request URL length is in a safe range for your platform. Usually, 2000 characters are the safe limit in virtually any combination of client and server software.
NOTE: Consider all IDs as abstract strings, without making any assumptions about their format or relying on such assumptions. There is a non-zero probability that IDs may change in the future, and this should not result in any breaking changes.
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Custom header that allows you to get data for testnets.
testnet The web3 wallet address A wallet address, which can be either an EVM or Solana address
^0x[a-fA-F0-9]{40}$"0x42b9df65b219b3dd36ff330a4dd8f327a6ada990"
This parameter allows users to filter DeFi positions based on their types. There are three options:
only_simple: Retrieves exclusively wallet-type positions. These are basic, non-protocol related positions. This option is applied if parameter is not specified.only_complex: Fetches only positions associated with all DeFi protocols (including staked assets, liquidity pools, etc), like Uniswap or Aave. This option excludes simple wallet positions.no_filter: Applies no filtering, thus returning both protocol-related and simple wallet positions.⚠️ Note: Different pricing models are applied for enterprise usage of this API, depending on the filter type selected. For detailed pricing information, please reach out to us at
api@zerion.io.
only_simple, only_complex, no_filter Denominated currency value of returned prices
eth, btc, usd, eur, krw, rub, gbp, aud, cad, inr, jpy, nzd, try, zar, cny, chf 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 repaidlocked - 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 purposesreward - Earned rewards that are claimable or have been distributed but not yet withdrawnwallet - Regular assets held directly in the wallet, not actively deposited in any protocolinvestment - Investment positions such as tokenized funds, indices, or structured products8Position's type indicating how the assets are being used or their current state.
deposit, loan, locked, staked, reward, wallet, investment Keep only positions from these chains (comma-separated list). Available chain ids can be found in chains endpoints.
25["polygon"]Keep only positions related to given fungible assets (comma-separated list).
2544Keep only positions related to these decentralized applications (dapps) (comma-separated list).
251 - 32["polygon"]Filter positions based on the is_trash flag. If no flag is specified, then only_non_trash is applied.
only_trash, only_non_trash, no_filter Choose how the result should be ordered
-value, value Controls whether the endpoint should wait for position data to be ready before responding.
true: The endpoint will wait up to 30 seconds for position data to be aggregated before responding. If data is ready sooner, the response is returned immediately. If data is not ready within 30 seconds, a timeout error may occur.false (default): The endpoint returns immediately with available position data.NOTE: When using
sync=true, be prepared to handle longer response times (up to 30 seconds). Ensure your client timeout settings accommodate this duration.