Perp API

Query and subscribe to perpetual trading data including positions, trade history, market borrowing rates, and referrals.

Table of Contents

Queries

trade

Get a specific trade by ID and trader address.

Signature:

Parameters:

  • id: Trade ID (integer)

  • trader: Trader's wallet address (required)

Returns: PerpTrade object or null if not found

Example:

Use Cases:

  • Display single trade details

  • Track specific position status

  • Calculate current PnL


trades

List trades with filtering, pagination, and ordering.

Signature:

Parameters:

  • where: Filter object (required)

    • trader: Trader address (required)

    • isOpen: Filter by open/closed status

    • perpMarketId: Filter by market ID

    • perpCollateralId: Filter by collateral token ID

  • limit: Max results (default: 100)

  • offset: Skip results for pagination

  • order_by: Sort field (sequence only)

  • order_desc: Sort descending (default: false)

Returns: Array of PerpTrade objects

Example - Get Open Positions:

Example - Filter by Market:

Use Cases:

  • List user's open positions

  • Display trading history

  • Filter by specific markets

  • Build position dashboard


tradeHistory

Get trade events and position changes.

Signature:

Parameters:

  • where: Filter object (required)

    • trader: Trader address (required)

  • limit: Max results (default: 100)

  • offset: Skip results

  • order_by: Sort by sequence or trade_id

  • order_desc: Sort descending

Returns: Array of PerpTradeHistoryItem objects

Trade Change Types:

  • position_opened: New position created

  • position_closed_user: User closed position

  • position_closed_sl: Stop loss triggered

  • position_closed_tp: Take profit triggered

  • position_liquidated: Position liquidated

  • sl_updated: Stop loss updated

  • tp_updated: Take profit updated

  • limit_order_created: Limit order placed

  • stop_order_created: Stop order placed

  • order_triggered: Order executed

  • order_closed_user: Order cancelled

Example:

Use Cases:

  • Build activity feed

  • Track position modifications

  • Calculate realized PnL history

  • Audit trade actions


borrowing

Get detailed borrowing information for a specific market and collateral.

Signature:

Parameters:

  • collateralId: Collateral token ID

  • marketId: Market ID

Returns: PerpBorrowing object or null

Example:

Key Fields Explained:

  • oiLong / oiShort: Open interest for longs/shorts

  • oiMax: Maximum allowed open interest

  • feesPerHourLong / feesPerHourShort: Borrowing rate (per hour)

  • openFeePct / closeFeePct: Opening/closing fee percentages

  • maxLeverage / minLeverage: Leverage limits

  • minPositionSizeUSD: Minimum position size in USD

Use Cases:

  • Display market information

  • Calculate funding rates

  • Show available leverage

  • Check market capacity (OI limits)


borrowings

List all available markets with basic information.

Signature:

Parameters:

  • where: Filter object (optional)

    • marketId: Filter by market ID

    • collateralId: Filter by collateral ID

  • limit: Max results

  • offset: Skip results

  • order_by: Sort by base_token_name

  • order_desc: Sort descending

Returns: Array of PerpBorrowingShortInfo objects

Example:

Use Cases:

  • List all tradeable markets

  • Build market selector

  • Filter visible markets


Subscriptions

Subscribe to real-time updates for perpetual trading data.

perpTrades

Subscribe to trade updates for a specific trader.

Signature:

Example:


perpTradeHistory

Subscribe to trade events for a specific trader.

Signature:

Example:


perpBorrowing

Subscribe to borrowing rate updates for a specific market.

Signature:

Example:


perpBorrowings

Subscribe to updates for all markets.

Signature:

Example:


Types Reference

PerpTrade

PerpTradeState

Real-time position state with PnL and fees.

PerpBorrowing

Complete market information.

Enums

PerpTradeType:

  • trade: Market trade

  • limit: Limit order

  • stop: Stop order

PerpTradeChangeType:

  • position_opened

  • position_closed_user

  • position_closed_sl

  • position_closed_tp

  • position_liquidated

  • sl_updated

  • tp_updated

  • limit_order_created

  • stop_order_created

  • order_triggered

  • order_closed_user


Last updated