How a decrease works
A decrease removes liquidity and adds the proceeds and earned fees to your position funds. Collecting pays those funds to the withdrawal address fixed when you minted. In the app, one Decrease action runs both steps. With the SDKs or CLI, call collect after the decrease to receive the funds. The amounts removed from liquidity depend on the price when the decrease settles. Check the expected amounts in the app review or CLI plan before confirming. Any liquidity you leave in the position keeps the same range. In the app, removing 100 percent starts the closeout flow. If collection is interrupted, the funds wait under Pending Claims in Portfolio. Collect them there without another decrease. See Collecting and burning.In the app
Before you startYou’ll need: Shield Wallet connected to Shield Swap, and an open position with liquidity in it.Remove funds
- Open Pools, then select the pool. Under Your Positions, select Manage in the position’s row, then Decrease. The panel on the right switches to Decrease with Position loaded showing the position’s ID and range.
- Check Withdrawal Address. The funds will go there, which is not always the connected wallet.
- Select 25%, 50%, 75%, or 100%, or enter a percentage.
- Select the button, which names the amount, such as Decrease 25%.
- In Review decrease, check the two Receive amounts and the Remaining position range. A line under the amounts notes any position funds already waiting that will be collected at the same time.
- Select Confirm.
- In the Transaction request in Shield Wallet, check that the request is from swap.shield.fi and that the estimated amounts match, then select Confirm.
Troubleshooting
Next steps
- Collecting and burning to collect position funds and understand what closes a position.
- Increasing liquidity to add funds back at the same range.
Decrease and read what is owed
Prerequisites: Your authenticated mainnetclient for Typescript, dex for Python, or CLI profile from Setup, and an existing position with liquidity.Liquidity is the position’s share of the range, not a token amount. These examples remove half of it. Amounts are base-unit integers; use each token’s decimals to display them.Replace POSITION_TOKEN_ID with the ID of the position you intend to change. Define the confirmation helper for your SDK before running these examples.- Typescript
- Python
- CLI
Step 1: Find the position
Step 2: Decrease
decreaseLiquidity takes no imports; nothing leaves the AMM yet. The call spends the current position record and issues a replacement with the same positionTokenId.Wait for acceptance and the replacement record before reading what is owed.tokensOwed0 and tokensOwed1 now hold the withdrawn principal plus settled fees. They stay with the position until you collect. Continue with Collecting and burning.How it works on chain
decrease_liquidity reduces your position’s liquidity and credits the withdrawn principal and settled fees to its owed balances. You receive token payouts through a separate collect transaction.What changes
How fees and principal settle
- The contract calculates the principal for the liquidity you remove, using the current square-root price and your fixed range.
- It settles pending fees using your full liquidity before the reduction, including the portion you keep. Those fees and the withdrawn principal are added to the existing owed balances.
- It records the reduced liquidity and advances the fee checkpoints. Later fee growth applies to the remaining liquidity.
After a full decrease
Wait for acceptance and the replacementPositionNFT, then collect the owed balances. Burn the position only after its liquidity and both owed balances are zero, using the latest record.Next steps
- Collecting and burning to pay out the owed balance and close the position.
- Increasing liquidity to add funds back at the same range.