Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@nftperp/sdk
Advanced tools
SDK to interact with the nftperp protocol (docs).
tldr; nftperp is a derivates platform for nfts. for the first time ever, short nfts with leverage
The protocol is currently in BETA on arbitrum mainnet (dapp). it uses fake eth for paper trading, which can be obtained from faucet on website/sdk
For any queries, hop in the community discord and ask away invite link
npm i @nftperp/sdk
Also requires ethers
library
npm i ethers
asset
the nft collection to trade. synonymous to market pair, amm.direction
direction of trade. long or short.margin
collateral amount. this is the amount you risk on liquidation.notional
total value of position margin x leverage.mark price
nftperp's price of the asset.index price
actual price of the asset. floor from marketplaces.margin ratio
margin to notional ratio.maintenance margin ratio
minimum margin ratio to be maintained to avoid liquidation.import ethers from "ethers";
import { SDK } from "@nftperp/sdk";
/**
the general rpc url for arb mainnet is "https://arb1.arbitrum.io/rpc"
you can also use a personal one from alchemy (https://www.alchemy.com/)
*/
const provider = new ethers.providers.JsonRpcProvider("<your-rpc-url>");
const wallet = new ethers.Wallet("<your-private-key>", provider);
const nftperp = new SDK(wallet);
await nftperp.useFaucet(); // grants 5 eth
const hash = await nftperp.openPosition({
asset: "bayc",
direction: "long",
margin: 0.1, // this means 0.1 eth
leverage: 3,
});
note: currently limited nft collections are supported. to get a list of supported assets do:
console.log(nftperp.getSupportedAssets());
/**
[ 'bayc', 'moonbirds', 'mayc', 'doodles', 'clonex' ]
*/
const position = await nftperp.getPosition({
asset: "bayc",
});
console.log(position);
/**
{
size: 0.003,
margin: 0.1,
leverage: 3,
pnl: 0,
funding: 0,
entryPrice: 82.981,
liquidationPrice: 63.224
}
*/
const hash = await nftperp.closePosition({
asset: "bayc",
});
const assetInfo = await nftperp.getAssetInfo("bayc");
console.log(assetInfo);
/**
{
asset: 'BAYC',
markPrice: 82.795,
indexPrice: 84,
maxLeverage: 5,
maintenanceMarginPercent: 12.5,
fullLiquidationPercent: 10,
previousFundingPercent: -0.662,
nextFundingTime: 1660194024,
openInterest: 3583.484,
openInterestLongs: 2581.935,
openInterestShorts: 1001.548
}
*/
FAQs
SDK for nftperp protocol
We found that @nftperp/sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
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.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.