Skip to main content

DeFi positions

The Dashboard shows your active DeFi positions across lending protocols and Uniswap V3 LP pools. You can manage these positions directly — withdraw from lending, remove LP liquidity, and collect accumulated fees.

Lending positions

The DeFiPositions component shows your active lending positions (only renders if you have positions — returns null otherwise):

Withdraw flow

Clicking Withdraw opens the WithdrawModal:
1

Confirmation

Shows protocol name with icon, position balance to withdraw. Click Withdraw to proceed.
2

Processing

Multi-step execution with progress indicators. Transaction link appears when submitted. Uses useDefiWithdraw() hook.
3

Success

Checkmark icon, confirmation message, completed transaction link. Positions refetch automatically after successful withdrawal.
4

Error (if applicable)

Error details displayed with a Retry button.

Uniswap V3 LP positions

The PositionsPanel shows your Uniswap V3 liquidity positions: Each PositionCard displays:

Remove liquidity flow

The RemoveLiquidityModal supports two modes:
Withdraws your liquidity from the pool:
  • Shows estimated token amounts you’ll receive
  • Collect fees checkbox — optionally collect accumulated fees during removal
  • Multi-step execution: approval → remove → (collect fees if checked)
  • Transaction hash links to block explorer

Add liquidity

New LP positions are created through the Dashboard’s DeFi swap/pools interface:

PoolsPanel

Browse and add liquidity to Uniswap V3 pools:
  • Chain tabs: Base, Ethereum, Polygon
  • Search input: Filter pools by token symbol
  • Pool cards: Token pair, fee tier, TVL, estimated APR, volume, liquidity distribution
  • Click a pool to open the AddLiquidityModal

AddLiquidityModal

LP positions require the wallet to be connected. The panel shows a wallet connection prompt if not authenticated. Position data comes from on-chain Uniswap V3 contracts via the useUniswapPositions() hook.