@somnia-chain/markets-sdk


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

Interface: PlacePerpOrderParams

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

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:506

PerpPool address.


isBid

isBid: boolean

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

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


price

price: bigint

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

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:515

Base quantity, raw base units.


expireTimestampNs?

optional expireTimestampNs?: bigint

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

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


orderType?

optional orderType?: number

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

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


builder?

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

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

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:532

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:534

Gas ceiling for this tx.

Default Value

TraderConfig.gas (10,000,000)