Skip to main content

Remove Liquidity

info
  • Need authentication. Up to 5 requests per second per UID. Requires Earn permission on the API key.
  • Orders are processed asynchronously. A successful response means the order was accepted, not that it has been completed. Use Get Order Info to track order status.
  • orderLinkId is used for idempotency — resubmitting the same orderLinkId returns an error indicating the order already exists.
  • Only one pending order is allowed per position at a time.

HTTP Request

POST/v5/earn/liquidity-mining/remove-liquidity

Request Parameters

ParameterRequiredTypeComments
productIdtruestringProduct ID
orderLinkIdtruestringUser-customised order ID (max 40 characters)
positionIdtruestringPosition ID to remove liquidity from. Obtain from Get Position Info
removeRatefalseintegerWithdrawal percentage (integer, 1–100). Defaults to 100 (full withdrawal) if not provided or set to 0
removeTypefalsestringWithdrawal mode: Normal (default, returns both coins proportionally), SingleQuoteCoin (returns quoteCoin only), SingleBaseCoin (returns baseCoin only)

Response Parameters

ParameterTypeComments
orderIdstringSystem-generated order ID
orderLinkIdstringUser-customised order ID

Request Example

POST /v5/earn/liquidity-mining/remove-liquidity HTTP/1.1
Host: api-testnet.bybit.com
X-BAPI-SIGN: XXXXX
X-BAPI-API-KEY: xxxxxxxxxxxxxxxxxx
X-BAPI-TIMESTAMP: 1741651200000
X-BAPI-RECV-WINDOW: 5000
Content-Type: application/json

{
"productId": "1001",
"orderLinkId": "lm-remove-001-20260312",
"positionId": "5001",
"removeRate": 50,
"removeType": "Normal"
}

Response Example

{
"retCode": 0,
"retMsg": "",
"result": {
"orderId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"orderLinkId": "lm-remove-001-20260312"
},
"retExtInfo": {},
"time": 1741651200000
}