# Decrease an LP position (POST /lp/decrease)

Operation `decrease_position` of the Uniswap API. Base URL: `https://trade-api.gateway.uniswap.org/v1`.

Decreases liquidity in an existing position by a specified percentage. The server derives all position state (liquidity, fees, ticks) from on-chain data. Supports V2 (by token pair), V3, and V4 (by NFT token ID). If `simulateTransaction` is set to `true`, the response will include the gas fee.

Parameters: 1 header, 12 body · Request: `application/json` · Auth: apiKey · Responses: 200, 400, 401, 404, 429, 500, 504

## Headers

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `x-api-key` | string | yes | Your API key for authentication. |

## Body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `walletAddress` | string | yes |  |
| `chainId` | enum | yes | The unique ID of the blockchain. For a list of supported chains see the [FAQ](https://api-docs.uniswap.org/guides/faqs). |
| `protocol` | enum | yes | The protocol of the pool. |
| `token0Address` | string | yes |  |
| `token1Address` | string | yes |  |
| `nftTokenId` | string | no | The NFT token ID for V3/V4 positions. Not required for V2. |
| `liquidityPercentageToDecrease` | integer | yes | The percentage of liquidity to remove (1-100). |
| `slippageTolerance` | number | no | Slippage tolerance as a decimal (e.g., 0.5 for 0.5%). |
| `deadline` | integer | no | Unix timestamp after which the transaction will revert. |
| `simulateTransaction` | boolean | no | If true, the response will include the gas fee. |
| `withdrawAsWeth` | boolean | no | If true, native tokens will be withdrawn as WETH instead of unwrapping to ETH. |
| `urgency` | enum | no | The urgency level for gas price estimation. Higher urgency results in higher gas price and faster transaction inclusion. Defaults to URGENT if not provided. |

## Responses

- `200` — Decrease position successful.
- `400` — RequestValidationError, Bad Input
- `401` — UnauthorizedError eg. Account is blocked.
- `404` — ResourceNotFound eg. Cant Find LP Position.
- `429` — Ratelimited
- `500` — Unexpected error
- `504` — Request duration limit reached.

Interactive playground: https://developers.uniswap.org/docs/api-reference/decrease_position
All endpoints: https://developers.uniswap.org/docs/api-reference
