Execute LP Redeem
Redeem (withdraw) liquidity from a pool position.
info
- Must call Get LP Position List to get a valid
positionIdbefore redeeming - Must display redemption details (amount, expected tokens, fees) to user and obtain explicit confirmation before calling this endpoint
200response is only an ACK — use Get Order List to check redemption status- Redeemed tokens are returned to user's wallet after on-chain confirmation (typically 10–60 seconds)
- Partial or full redemption supported via
dercRatio - Rate Limit: 1 req/s (per user), 2000 req/s (global)
HTTP Request
POST/v5/alpha/lp/redeemRequest Parameters
| Parameter | Required | Type | Comments |
|---|---|---|---|
| positionId | true | integer | Position ID (from Get LP Position List) |
| poolAddress | true | string | Pool contract address |
| dercRatio | true | string | Reduction ratio (0–1). "0.25" = redeem 25%, "0.5" = redeem 50%, "1" = close entire position |
| receiveTokenCode | false | string | Token code for receiving the redeemed amount |
Response Parameters
| Parameter | Type | Comments |
|---|---|---|
| orderNo | string | Order number for this redemption operation. Use this to track status via Get Order List |
Request Example
- HTTP
- Python
- Node.js
POST /v5/alpha/lp/redeem HTTP/1.1
Host: api.bybit.com
X-BAPI-SIGN: XXXXXX
X-BAPI-API-KEY: xxxxxxxxxxxxxxxxxx
X-BAPI-TIMESTAMP: 1704067200000
X-BAPI-RECV-WINDOW: 5000
Content-Type: application/json
{
"positionId": 12345,
"poolAddress": "0x1234567890abcdef",
"dercRatio": "0.5"
}
Response Example
{
"retCode": 0,
"retMsg": "OK",
"result": {
"orderNo": "LP_REDEEM_20240101_001"
},
"retExtInfo": {},
"time": 1704067200000
}