Skip to main content
position_effects contains high-level semantic DeFi position changes inferred from the transaction. Rather than parsing raw token flows to determine if collateral increased, position_effects surfaces that interpretation directly.

Example

Fields

string | null
The address associated with the position change. May be null if the engine could not resolve a specific subject for the effect.
string
required
Describes what changed in the position. Common values include:
string
required
The category of the position that was affected. Common values include:

When to use position_effects

position_effects is most valuable for DeFi-specific transaction kinds. Apply the following guidance when building UIs or analytics:
  • Prefer position_effects over raw token flows for the following classification.intent_kind values: LendingDeposit, LendingWithdraw, Borrow, Repay, Liquidation, LiquidityProvision, LiquidityRemoval. These intents are best explained through their position-level semantics rather than individual token movements.
  • Build semantic cards — use position_effects to surface human-readable summaries like “Collateral increased by 5 ETH” or “Borrowed 1,000 USDC” instead of generic token transfer tables.
  • Check for empty arrays — for non-DeFi transactions (swaps, plain transfers, contract deployments), position_effects will typically be empty. Guard against this before rendering DeFi-specific UI components.
Not every transaction produces position effects. Simple swaps, transfers, and contract deployments typically return an empty position_effects array.