Socket
Book a DemoInstallSign in
Socket

@nftperp/sdk

Package Overview
Dependencies
Maintainers
3
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nftperp/sdk

SDK for nftperp protocol

latest
Source
npmnpm
Version
10.1.0
Version published
Weekly downloads
531
572.15%
Maintainers
3
Weekly downloads
 
Created
Source

nftperp sdk ✨

Typescript

SDK to interact with the nftperp protocol

Discord

For any queries, join our discord invite link

  • Installation
  • Usage

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>" });

Keywords

sdk

FAQs

Package last updated on 08 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts