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.

bash
# TypeScript / Node
npm install @myeperps/sdk

# Python
pip install myeperps

Quickstart

Launch a market, open a leveraged position, and read your PnL in a few lines.

ts
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.

ts
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.

ts
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.

ts
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.

ts
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.

bash
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.

json
{
  "error": {
    "code": "leverage_exceeded",
    "message": "leverage 100x exceeds market cap 75x",
    "market": "WIF-PERP"
  }
}

Ready to try it for real? Open the terminal →