Liquidate Subaccount
Last updated
Last updated
Rate limits
30 liquidations/min or 5 liquidations every 10 seconds per wallet. (weight=20)
Connect
WEBSOCKET [GATEWAY_WEBSOCKET_ENDPOINT]
Message
tx
object
Yes
tx.sender
string
Yes
Hex string representing the subaccount's 32 bytes (address + subaccount name) of the tx sender.
tx.liquidatee
string
Yes
Hex string representing the subaccount's 32 bytes (address + subaccount name) of the subaccount being liquidated.
tx.productId
number
Yes
Perp Liquidation:
A valid perp product Id.
Spot Liquidation:
A valid spot product Id.
Spread Liquidation:
tx.isEncodedSpread
bool
Yes
When set to true
, the productId
is expected to encode a perp and spot product Ids as follows: (perp_id << 16) | spot_id
tx.amount
string
Yes
The amount to liquidate multiplied by 1e18, sent as a string.
tx.nonce
string
Yes
signature
string
Yes
The solidity typed data struct that needs to be signed is:
sender
: a bytes32
sent as a hex string; includes the address and the subaccount identifier.
liquidatee
: a bytes32
sent as a hex string; includes the address and the subaccount identifier.
productId
: The product to liquidate as well as the liquidation mode.
Perp liquidation ⇒ A valid perp
product id is provided and isEncodedSpread
is set to false
.
Spot liquidation ⇒ A valid spot
product id is provided and isEncodedSpread
is set to false
Spread Liquidation => If there are perp and spot positions in different directions, liquidate both at the same time. Must be set to a 32 bits integer where the lower 16 bits represent the spot
product and the higher 16 bits represent the perp
product. isEncodedSpread
must be set to true
.
Computing productId for Spread Liquidation
isEncodedSpread
: indicates whether productId
encodes both a spot
and a perp
product Id for spread liquidation.
amount
: the amount to liquidate multiplied by 1e18, sent as a string. Can be positive or negative, depending on if the user’s balance is positive or negative.
Liquidate subaccount transaction object. See section for details on the transaction fields.
An encoded perp / spot product Ids, where the lower 16 bits represent the spot product and the higher 16 bits represent the perp product. isEncodedSpread
must be set to true
for spread liquidation. See section for more details.
This is an incrementing nonce, can be obtained using the query.
Signed transaction. See section for more details.
nonce
: the tx_nonce
. This is an incrementing nonce, can be obtained using the query.
Success
Failure