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_effectsover raw token flows for the followingclassification.intent_kindvalues: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_effectsto 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_effectswill 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.