@nftperp/sdk
v10.1.0
Published
SDK for nftperp protocol
Downloads
978
Readme
nftperp sdk ✨
SDK to interact with the nftperp protocol
For any queries, join our discord invite link
Installation
npm i @nftperp/sdk
Usage
Setup
import { ethers } from "ethers";
import { SDK } from "@nftperp/sdk";
const nftperp = new SDK({ rpcUrl, privateKey }); // ready to make trades ¬‿¬"
const nftperp = new SDK(); // for read-only mode, uses general rpc
Create a market order
import { Amm, Side } from "@nftperp/sdk/types";
const tx = await nftperp.openMarketOrder({
amm: Amm.BAYC,
side: Side.BUY,
margin: 0.1, // in eth
leverage: 3,
});
Create a limit order
import { Side } from "@nftperp/sdk/types";
await nftperp.openLimitOrder({
amm: AMM.BAYC,
side: Side.SELL,
price: 30,
margin: 0.1,
leverage: 1,
});
Get postion
await nftperp.getPosition(Amm.BAYC);
Create a trigger order (Stop loss/Take profit)
await nftperp.openTriggerOrder({
amm: Amm.BAYC,
price: 20,
size: 0.1 // in BAYC
type: TriggerType.TAKE_PROFIT
});
Close position
await nftperp.closePosition({ amm: Amm.BAYC });
Calculate open summary
summary of entry price, price impact, fees etc to be implied on opening a position
await nftperp.getOpenSummary({
amm: Amm.BAYC,
amount: 1,
leverage: 1,
side: Side.BUY,
});
Calculate close summary
summary of exit price, price impact, fees etc to be implied on closing a position
const summary = await nftperp.getCloseMarketSummary({ amm: Amm.BAYC });
Get mark price
const markPrice = await nftperp.getMarkPrice(Amm.BAYC);
Get index price
const indexPrice = await nftperp.getIndexPrice(Amm.BAYC);
Get funding rate
const fundingRate = await nftperp.getFundingRate(Amm.BAYC);
Get historical trades
await nftperp.getTrades({ amm: Amm.BAYC, trader: "<trader-address>" });
await nftperp.getTrades({ from: 1680307200, to: 1682899200, sort: Sort.ASC });
await nftperp.getTrades({ hash: "<transaction-hash>" });
Get historical fundings
await nftperp.getFundings({ amm: Amm.BAYC });
await nftperp.getFundings({ from: 1680307200, to: 1682899200, sort: Sort.ASC });
await nftperp.getFundings({ hash: "<transaction-hash>" });