Documentation
Introduction
Myeperps is permissionless perp infrastructure on Solana. Any token with a launched mint can become a leveraged market — up to 100× isolated leverage, six order types, and a virtual bonding-curve pool that gives newborn markets tight spreads from the first block. Markets settle on-chain; creators keep 10% of trading fees for life.
The fastest way to feel it is the terminal — connect a wallet and drive the whole stack on devnet.
Install
Pick the SDK that matches your stack. The TypeScript SDK is the most complete.
# TypeScript / Node
npm install @myeperps/sdk
# Python
pip install myeperpsQuickstart
Launch a market, open a leveraged position, and read your PnL in a few lines.
import { Myeperps } from '@myeperps/sdk'
const mye = new Myeperps({ apiKey: process.env.MYE_KEY })
// 1. launch a perp market on any Solana mint (0.3 SOL)
const market = await mye.markets.launch({
mint: 'EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm', // WIF
maxLeverage: 75,
})
// 2. open an isolated long with 12x leverage
const pos = await mye.orders.open({
market: market.id,
side: 'long',
collateralUsdc: 500,
leverage: 12,
type: 'market',
})
console.log(pos.entryPrice, pos.liqPrice) // "1.852", "1.061"Launching markets
A launch costs 0.3 SOL and one signature. There is no listing committee — the moment the fee clears, the market is live and tradeable. Newborn markets quote against a virtual bonding-curve pool so day-one fills clear at sub-percent slippage.
const market = await mye.markets.get('SOL-PERP')
// { id, mint, indexPrice, maxLeverage, openInterest, creator }Orders & leverage
Six order types — market, limit, stop-market, stop-limit, take-profit, and trailing stop. Leverage is set per position, up to the market cap, and is always isolated by default.
await mye.orders.place({
market: 'WIF-PERP',
side: 'short',
type: 'trailing_stop',
collateralUsdc: 250,
leverage: 8,
trailPct: 4,
})Isolated risk
Every position carries its own margin. A liquidation on one market never touches the rest of your book. Stop-out buffers and per-market caps are enforced by the program, not by a dashboard you can forget to check.
const res = await mye.orders.open({ market, side: 'long', collateralUsdc: 50, leverage: 100 })
if (!res.ok) {
// res.reason: "leverage 100x exceeds market cap 75x"
}Creator fees
Launch a market and 10% of every trading fee on it routes to your wallet for the life of the market. No minimum volume, no vesting — the flow streams on-chain and you claim whenever you want.
const fees = await mye.fees.creator('PEPE-PERP')
// { accruedUsdc: 4182.40, claimable: true, share: 0.10 }
await mye.fees.claim('PEPE-PERP')REST API
Every SDK call maps to a REST endpoint. Authenticate with a bearer key.
curl https://api.myeperps.xyz/v1/markets \
-H "Authorization: Bearer mye_live_..." \
-d '{ "mint": "EKpQ...zcjm", "max_leverage": 75 }'Errors
Errors use stable string codes. Risk blocks return 200 with ok:false.
{
"error": {
"code": "leverage_exceeded",
"message": "leverage 100x exceeds market cap 75x",
"market": "WIF-PERP"
}
}Ready to try it for real? Open the terminal →