{s}omniamarkets

@somnia-chain/markets-sdk


@somnia-chain/markets-sdk / index / PerpMarket

Type Alias: PerpMarket

PerpMarket = BaseMarket & object

Defined in: query.ts:172

A perpetual-futures order-book market. Rides the same OrderBook core as spot (base/quote book, raw quote units per whole base), with a synthetic base: positions + collateral live cross-margin in the MarginBank, and the pool tracks funding against an oracle index price.

Type Declaration

marketType

marketType: "PERP"

baseToken

baseToken: string

Wrapper token standing in for the synthetic base (e.g. WBTC).

quoteToken

quoteToken: string

The MarginBank collateral token (e.g. USDso).

baseSymbol

baseSymbol: string | null

quoteSymbol

quoteSymbol: string | null

baseIsNative

baseIsNative: boolean

Always false — the perp base is synthetic, never native. Kept so spot-shaped base/quote code paths can treat SPOT and PERP uniformly.

tickSize

tickSize: string

lotSize

lotSize: string

minQuantity

minQuantity: string

marginBank

marginBank: string

Cross-margin MarginBank holding collateral + positions (lowercased).

initialMarginBps

initialMarginBps: number

Initial margin requirement in bps (500 = 5% = 20x max leverage).

fundingRate

fundingRate: string | null

Funding rate for the last settlement window (1e18-scaled fraction, signed). Null until the first FundingUpdated is indexed.

cumulativeFundingPerUnit

cumulativeFundingPerUnit: string | null

Cumulative funding per base unit since inception (1e18-scaled, signed).

indexPrice

indexPrice: string | null

Oracle index price at the last funding update (raw quote per whole base).

fundingUpdatedAt

fundingUpdatedAt: string | null

longOpenInterest

longOpenInterest: string | null

Total long open interest in base units.

shortOpenInterest

shortOpenInterest: string | null

Total short open interest in base units.

openInterestUpdatedAt

openInterestUpdatedAt: string | null