Preview: This endpoint is currently available at the beta path (/beta/evm/defi/positions). Schemas are stable, but response fields may expand as we onboard new protocols.
Supported Coverage
- Liquidity: Uniswap V2/V3/V4, Algebra v3 forks, iZUMi Swap, and additional AMMs rolling out regularly
- Lending: Aave v2/v3 (supply, variable debt), Compound v2/v3, and Moonwell markets
- Yield: Pendle v2, ERC-4626 vaults (Yearn v3, Pendle Yield PTs, and compatible vaults)
- Tokenized positions: Protocol share tokens such as aTokens, cTokens, ERC-4626 vault receipts
- NFT-based liquidity: Concentrated liquidity NFTs (Uniswap v3 and compatible implementations)
Supported Chains
We currently cover DeFi Positions on the following networks, with more chains on the roadmap:- Arbitrum
- Base
- Base Sepolia
- BOB
- Ethereum
- Ink
- Mode
- Optimism
- Shape
- Soneium
- Unichain
- World
- Zora
Request Parameters
chain_ids— Optional chain filter accepting numeric IDs or supported tags. When omitted, we return all chains tagged asdefault.protocol— Filter to a specific protocol or category (aave-v3,uniswap-v3,erc4626, etc.).
X-Sim-Api-Key header with a Sim API key.
Response Structure
Each response includes the queried wallet, timestamps, an array of positions, and aggregation totals.-
positions[]items surface consistent metadata across protocols:- Protocol identifiers:
protocol_name,protocol_id, and protocol-definedlabel - Location:
chain_idandcontract_address - Valuation:
amount,usd_value, andunclaimed_usd_value - details: Protocol-specific fields such as token breakdowns, APYs, collateral flags, NFT ticks, or reward inventories. The shape of this object varies by integration and expands over time.
- Protocol identifiers:
-
aggregations.total_usd_valuesums the USD value of all returned positions. -
aggregations.total_by_chainbreaks down USD value per chain ID.
Sample Response
Compute Units
Each request consumes two Compute Units per processed chain ID. Filtering to fewer chains lowers usage. Aggregations are calculated server-side and included in the same response.Errors
400 Bad Request— Invalid address, malformed cursor, or unsupported parameter value404 Not Found— No positions found for the wallet on the requested chains500 Internal Server Error— Retryable server-side failure
Headers
Used for authenticating requests. See Authentication.
Path Parameters
Wallet address to inspect for DeFi positions.
Query Parameters
Filter by chain(s). Accepts numeric chain IDs and/or tags. Provide a single value (e.g. ?chain_ids=1 or ?chain_ids=mainnet) or a comma-separated list (e.g. ?chain_ids=1,8453). If omitted, positions are returned for chains with the default tag. See the Supported Chains Tags section.
Filter to a specific protocol or category (for example, aave-v3, uniswap-v3, or erc4626).