Interact with the contract directly
For 1001x
Some users interact directly with the contract for full control, automation, or when the app interface is unavailable or limited.
How to get trading pair information
Contract address: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0
Method: ParisV3
Response:
struct LeverageMargin {
uint256 notionalUsd;
uint16 tier;
uint16 maxLeverage;
uint16 initialLostP; // 1e4
uint16 liqLostP; // 1e4
}
struct SlippageConfig {
string name;
uint256 onePercentDepthAboveUsd;
uint256 onePercentDepthBelowUsd;
uint16 slippageLongP; // 1e4
uint16 slippageShortP; // 1e4
uint16 index;
ISlippageManager.SlippageType slippageType;
bool enable;
}
struct FeeConfig {
string name;
uint16 index;
uint16 openFeeP; // 1e4
uint16 closeFeeP; // 1e4
bool enable;
uint24 shareP; // 1e5
uint24 minCloseFeeP; // 1e5
}
struct PairView {
// BTC/USD
string name;
// BTC address
address base;
uint16 basePosition;
PairType pairType;
PairStatus status;
uint256 maxLongOiUsd;
uint256 maxShortOiUsd;
uint256 fundingFeePerBlockP; // 1e18
uint256 minFundingFeeR; // 1e18
uint256 maxFundingFeeR; // 1e18
LibPairsManager.LeverageMargin[] leverageMargins;
uint16 slippageConfigIndex;
uint16 slippagePosition;
LibPairsManager.SlippageConfig slippageConfig;
uint16 feeConfigIndex;
uint16 feePosition;
LibFeeManager.FeeConfig feeConfig;
uint40 longHoldingFeeRate; // 1e12
uint40 shortHoldingFeeRate; // 1e12
}1. How to open a position at the opening price
Contract address: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0
Method: openMarketTrade
Parameters: data (tuple) Tuple: A tuple is an array of values e.g. [ "0x4sd…","100","100"..]. It can contain strings, integers, and boolean values. The structure for this tuple is:
Example: If the user wants to use 100 USDT to place a pending order for a BTC Long position with Price 20000, Quantity 0.001, Take Profit Price 25000, and Stop Poss price 19000, the inPutData should be:["0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c","True","0x55d398326f99059fF775485246999027B3197955","100000000000000000000","10000000",,"2000000000000"2500000000000","1900000000000",1]
2. How to place a limit order
Contract address: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0
Method: createLimitOrder(
Parameters: data (tuple)
3. How to check a user’s position information
4. How to check an open order
Contract address: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0
Method: getLimitOrders
Parameters:
User: address
Pairs: 0x0000000000000000000000000000000000000000
Response:
5. How to close a position
Contract address: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0
Method: closeTrade
Parameters:
6. How to add margin
Contract address: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0
Method: addMargin
Parameters:
7. How to adjust Take Profit and Stop Loss price
Contract address: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0
Method: updateTradeTpAndSl
Parameters:
8. How to cancel the Limit order
Contract address: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0
Method: cancelLimitOrder
Parameters:
Margin amount decimals:
USDT: 1e18
USDC: 1e18
Price decimal: 1e8
Contract qty decimal: 1e10
Resources
ABI:
The Ethereum Diamond Inspector: https://louper.dev/diamond/0x1b6F2d3844C6ae7D56ceb3C3643b9060ba28FEb0?network=bsc
Index price API: https://www.apollox.finance/fapi/v1/premiumIndex
Last updated