Liquidity Requests SDK
The Polymarket Liquidity Requests sdk (@polymarket/liquidity-requests-sdk
) provides an easy-to-use, lightweight wrapper around the LiquidityRequestLog
contract.
Installation
The sdk can be easily installed using yarn with the following command:
yarn add @polymarket/liquidity-requests-sdk
Usage
The sdk provides importable types.
import { LiquidityRequest } from "@polymarket/liquidity-requests-sdk";
Primarily though, the sdk allows a LiquidityRequestLog
object to be initialized with a signer
(JsonRpcSigner
) and a chainID
(number
). This object provides a simple interface to various registry contract functions and utilities.
import { LiquidityRequestLog, LiquidityRequest } from "@polymarket/liquidity-requests-sdk";
const liquidityRequestLog = new LiquidityRequestLog(signer, 137);
const liquidityRequest: LiquidityRequest = {
marketMakerAddress: "0x0000000000000000000000000000000000000001",
reason: "trade",
tradeAmount: 2000000000000000000000,
};
await liquidityRequestLog.submitLiquidityRequest(liquidityRequest);
Interpreting Events
Client implementations of this sdk will vary, and direct interaction with the contracts themselves could result in other values for reason
and tradeAmount
, however the polymarket.com site uses the following client implementation of reasons and trade amounts for each liquidity request submitted.
The event to subscribe to with the relevant struct are listed below, see the complete contract here: LiquidityRequestLog.sol
interface LiquidityRequestLog {
struct LiquidityRequest {
address requesterAddress;
uint256 requestDate;
string reason;
address marketMakerAddress;
uint256 tradeAmount;
}
event LiquidityRequestAdded(address indexed requesterAddress, LiquidityRequest liquidityRequest);
}
Reasons
Option | Description |
---|
"TRADE" | User indicating they want to place a large trade (liquidity is low) |
"INFO" | User has information to trade on |
"OTHER" | Other reason (text box allows user to submit reason, maximum 100 characters, will show custom reason and not "OTHER" ) |
Trade Amounts (USDC)
Option | USDC BigNumber Value |
---|
< 500 | 500000000 |
501 - 1,000 | 1000000000 |
1,001 - 10,000 | 10000000000 |
10,000+ | 10001000000 |
I prefer not to say | 0 |
You can refer to the liquidity requests sdk source code for available functions and types.