Mint LP
Mints specified amount of LP tokens.
Rate limits
With spot leverage: 60 mint/min or 10 mints every 10 seconds per wallet. (weight = 10)
Without spot leverage: 30 mints/min or 5 mints every 10 seconds per wallet. (weight=20)
Request
Connect
WEBSOCKET [GATEWAY_WEBSOCKET_ENDPOINT]
Message
{
"mint_lp": {
"tx": {
"sender": "0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c43746573743000000000000000",
"productId": 1,
"amountBase": "1000000000000000000",
"quoteAmountLow": "10000000000000000000000",
"quoteAmountHigh": "20000000000000000000000",
"nonce": "1"
},
"signature": "0x"
}
}
Request Parameters
tx
object
Yes
tx.sender
string
Yes
Hex string representing the subaccount's 32 bytes (address + subaccount name) of the tx sender.
tx.productId
number
Yes
A product ID to mint LP for.
tx.amountBase
string
Yes
This is the amount of base to be consumed by minting LPs multiplied by 1e18, sent as a string.
tx.quoteAmountLow
string
Yes
This is the minimum amount of quote to be consumed by minting LPs multiplied by 1e18, sent as a string.
tx.quoteAmountHigh
string
Yes
This is the maximum amount of quote to be consumed by minting LPs multiplied by 1e18, sent as a string.
tx.nonce
string
Yes
signature
string
Yes
spot_leverage
boolean
No
Indicates whether leverage should be used; when set to false
, the mint fails if the transaction causes a borrow on the subaccount. Defaults to true
.
Signing
The solidity typed data struct that needs to be signed is:
struct MintLp {
bytes32 sender;
uint32 productId;
uint128 amountBase;
uint128 quoteAmountLow;
uint128 quoteAmountHigh;
uint64 nonce;
}
sender
: a bytes32
sent as a hex string; includes the address and the subaccount identifier.
productId
: a uint32
that specifies the product you’d like to mint LPs for; can be either a spot or a perp product.
amountBase
: this is the amount of base to be consumed by minting LPs, sent as a string. This must be positive and must be specified with 18 decimals.
quoteAmountLow
: this is the minimum amount of quote to be consumed by minting LPs, sent as a string. This must be positive and must be specified with 18 decimals.
quoteAmountHigh
: this is the maximum amount of quote to be consumed by minting LPs, sent as a string. This must be positive and must be specified with 18 decimals.
nonce
: the tx_nonce
. This is an incrementing nonce, can be obtained using the Nonces query.
Note: for signing you should always use the data type specified in the solidity struct which might be different from the type sent in the request e.g: nonce
should be an uint64
for Signing but should be sent as a string
in the final payload.
Response
Success
{
"status": "success",
"signature": {signature},
"request_type": "execute_mint_lp"
}
Failure
{
"status": "failure",
"signature": {signature},
"error": "{error_msg}",
"error_code": {error_code},
"request_type": "execute_mint_lp"
}
Last updated