@somnia-chain/markets-sdk


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

Interface: PlacePerpOrderParams

Defined in: packages/sdk/src/trade.ts:490

Inputs to Trader.placePerpOrder — a perp limit or market order on a PerpPool. Margin is locked from the signer's MarginBank balance (no escrow transfer in this tx) — Trader.depositMargin first.

Properties

pool

pool: `0x${string}`

Defined in: packages/sdk/src/trade.ts:492

PerpPool address.


isBid

isBid: boolean

Defined in: packages/sdk/src/trade.ts:494

True = buy/long the synthetic base; false = sell/short.


price

price: bigint

Defined in: packages/sdk/src/trade.ts:499

Limit price — raw quote (collateral) units per whole base. For a MARKET order pass a crossing price; it bounds the margin lock.


quantity

quantity: bigint

Defined in: packages/sdk/src/trade.ts:501

Base quantity, raw base units.


expireTimestampNs?

optional expireTimestampNs?: bigint

Defined in: packages/sdk/src/trade.ts:503

Order expiry in ns. Defaults to ~50y (GTC).


orderType?

optional orderType?: number

Defined in: packages/sdk/src/trade.ts:505

0 limit (default) or 2 market (IOC). See ORDER_TYPE.


builder?

optional builder?: `0x${string}`

Defined in: packages/sdk/src/trade.ts:511

Routing/builder frontend address to attribute the order to. Requires the trader to have opted this builder in via Trader.approveBuilder on this pool. Omit (or zero) for no routing fee.


builderFeeBpsTimes1k?

optional builderFeeBpsTimes1k?: bigint

Defined in: packages/sdk/src/trade.ts:518

Per-order builder/routing fee in the pool's native bps×1000 unit (≤ the pool's maxBuilderFee ceiling AND ≤ the trader's approval). 0 = none. The ceiling is owner-updatable on a PerpPool, so read it rather than caching it indefinitely.


gas?

optional gas?: bigint

Defined in: packages/sdk/src/trade.ts:520

Gas ceiling for this tx.

Default Value

TraderConfig.gas (10,000,000)