API for Developers
RPC
Test Environment
RPC:
https://relayer.test.deriw.comChainId: 2885
Explorer: https://explorerv2.test.deriw.com
Mainnet
RPC:
https://rpc.deriw.comChainId: 2886
Explorer: https://explorer.deriw.com/
Notes
For opening a new position with no existing positions, margin must be greater than 10 USDT.
For closing a position, order amount must be greater than 10 USDT.
1. Faucet (Testnet Only)
In the test environment, users must claim test tokens. This is not required on mainnet.
1.1 Claim Test Tokens
Airdrop Contract:
0xb207FD6D1136b0a32E2077754C971A82C7E54545Call the function:
claim()to receive test USDT.
📌 Example Transaction: View
1.2 Token Approval
USDT (6 decimals):
0x8059298AD3f2153EC1B0FA0d233342e834E06737Approve Router:
0x871cC36e0C52d3e41f896FF9D4eE03BC81E452e4
Mainnet USDT (6 decimals): 0x3B11A54514A708CC2261f4B69617910E172a90B3
Approve Router:
0x1eB6Dfc3316012C5795E1060f8BD1CEa10df30F5
2. PositionRouter – Market Orders
Testnet:
0x9E649615947e2bd1462A4b5D66645912b7740DB1Mainnet:
0x80257F37d327FA0EF464eFa64DdFb755dE111262
2.1 Market Open Position
📌 Example Transaction: View
function createIncreasePosition(
address[] memory _path, // Path (USDT address: 0x8059...)
address _indexToken, // Index token, see section 4
uint256 _amountIn, // USDT amount (1 USDT = 1,000,000 due to 6 decimals)
uint256 _sizeDelta, // Position size with leverage (1e30)
bool _isLong, // Long = true, Short = false
uint256 _acceptablePrice, // Acceptable price (1e30)
bytes32 _referralCode, // Fixed value: 0x00...
address _callbackTarget // Fixed value: 0x0000000000000000000000000000000000000000
)2.2 Market Close Position
📌 Example Transaction: View
function createDecreasePosition(
address[] memory _path, // Path (USDT address: 0x8059...)
address _indexToken, // Index token, see section 4
uint256 _collateralDelta, // Usually 0
uint256 _sizeDelta, // Closing position size (1e30)
bool _isLong, // Long = true, Short = false
address _receiver, // Receiver (usually tx sender)
uint256 _acceptablePrice, // Acceptable price
address _callbackTarget // Fixed value: 0x0000000000000000000000000000000000000000
)3. OrderBook – Limit Orders
Testnet:
0x300cAD4a61E6785F75E6deEbCC29b5f2708ab327Mainnet:
0x86A0D906c6375846b05a0EF20931c1B4d2489C13
3.1 Limit Open Position
📌 Example Transaction: View
function createIncreaseOrder(
address[] memory _path, // Path (USDT address)
uint256 _amountIn, // USDT amount (1 USDT = 1,000,000 due to 6 decimals)
address _indexToken, // Index token, see section 4
uint256 _sizeDelta, // Position size with leverage (1e30)
address _collateralToken, // USDT (6 decimals)
bool _isLong, // Long = true, Short = false
uint256 _triggerPrice, // Trigger price
bool _triggerAboveThreshold, // Default true
uint256 _lever // Leverage
)3.2 Take Profit / Stop Loss Orders
📌 Example Transaction: View
function batchCreateDecreaseOrder(DecreaseOrderFor[] memory orders)
struct DecreaseOrderFor {
address indexToken;
uint256 sizeDelta;
address collateralToken;
uint256 collateralDelta; // Usually 0
bool isLong;
uint256 triggerPrice;
bool triggerAboveThreshold;// Take profit = true, Stop loss = false
uint256 lever;
}3.3 Limit Close Position (TP/SL)
function createDecreaseOrder(
address _indexToken,
uint256 _sizeDelta,
address _collateralToken,
uint256 _collateralDelta, // Usually 0
bool _isLong,
uint256 _triggerPrice,
bool _triggerAboveThreshold,// Take profit = true, Stop loss = false
uint256 _lever
)4. Index Token List
Mainnet
DOGE:
0x2fDC17Dca642BBA2f4ad5DD51E891A277670B556WETH:
0x8892549DdcA0f14ee3b4B0dE9A5b6dE5087FE12fSOL:
0xB7e20EE2392f940Df344a1A940c37030DF0363A0LINK:
0x83Fbf275A3B79F062a4deb7b876fB17D11b22815SUI:
0x3C02bFeFC774364a1B2DBa7Dfa093A4b2eAa98dbXRP:
0xc48566c3A2A4358f34BeF026B1148f1A2cD47856BNB:
0x881E8ef8a6aC1fD7f850978361d9FF67902F0CacWBTC:
0xAb49AA1FfAbdd69B812163Ac01B8762c1D435342MNT:
0xAb49AA1FfAbdd69B812163Ac01B8762c1D435342OKB:
0xF88f37DF527855440424B52CBDda0BcE510fa261PEPE:
0x2C212B3dFc14bEe77989487Dd1Ab9333d09b92faWLFI:
0x710E67b9490Db427Ee2E9c154178c001cEf0F349ENA:
0xD377D75BCa249aA2a3b99d501C587A19A88C3Fe1PENDLE:
0xa0750EF1fA99A393ca82771bf91ba80e709ca692ENS:
0xC0C5630B8B57C88F48626A5aFf0ab4dE5bCfD8a2SOMI:
0xfa4bdAD5B858263DEadCbD826AD1b4e9a5f43D62WLD:
0x3Af24C47fe884653D64dc2edF00b8A07e2CBC764AVNT:
0xeC5a2D800E08f4Ab50C7FC355BC922285602Ba01IP:
0xD02B115012F562f3d5F9DEA49AA16C2d880297340G:
0xD4f0f1851c755B33ff1A6113a6D40018974FdbBbAAVE:
0x7a895267FfDEFF5cb3331ac3D45A0c8Cc8257abaDOT:
0x74759d2a55BC8e920c1f2ab9b0AD93c62c028B08UNI:
0xc5B66dc0604a440155689015B1a577d7cF23e3d5ARB:
0xA0e3d8b1d9FBeE85783C355e134515E115D1fB81TRUMP:
0x7C823734F32A6Ba9eA7a5537AA05fc8147AC0464
Last updated