Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ostium.com/llms.txt

Use this file to discover all available pages before exploring further.

The Ostium SDK is the current TypeScript client for reading Ostium market data, building mode-correct transactions, and submitting trading actions.

Install

npm install @ostium/builder-sdk viem

Core SDK surfaces

  • client creation methods for each execution mode
  • build-only transaction helpers for client-side signing
  • SDK-managed write methods for direct submission
  • read methods backed by the subgraph and builder API
  • live streams for prices and position updates

Method index

Client creation

  • createSelfAndSelf
  • createSelfAndGasless
  • createDelegatedAndSelf
  • createDelegatedAndGasless
  • createReadOnly

Helpers

  • canBuildTransactions
  • canSubmitTransactions
  • getTraderAddress
  • isReadOnly
  • getSmartAccountAddress
  • checkUsdcAllowance
  • getBalances

Read methods

  • getPairs
  • getAllPrices
  • getOpenPositions
  • getOpenOrders
  • getOrders
  • getFills
  • getFillsByTime
  • getSimSlippage
  • getSimOrderbook
  • getCandles
  • streamPrices
  • streamPositionUpdates

Transaction builders

  • getSetupGaslessDelegationTx
  • getApproveUsdcTx
  • getSetDelegateTx
  • getRemoveDelegateTx
  • getOpenTradeTx
  • getCloseTradeTx
  • getCancelOrderTx
  • getModifyOrderTx
  • getUpdateCollateralTx

Write methods

  • approveUsdc
  • setupGaslessDelegation
  • setDelegate
  • removeDelegate
  • openTrade
  • closeTrade
  • modifyOrder
  • updateCollateral
  • cancelOrder

Build vs submit

Every write action now has two SDK surfaces:
  • get*Tx() returns unsigned transaction data for wallet-driven or Safe-driven client applications
  • the write method (openTrade, closeTrade, approveUsdc, and so on) signs and submits through the configured mode when the client was created with credentials
For example:
const client = await OstiumClient.createSelfAndSelf({
  traderAddress: '0xTraderAddress',
});

const tx = client.getOpenTradeTx({
  pairId: 0,
  buy: true,
  price: '65000',
  collateral: '100',
  leverage: '5',
  type: OrderType.Market,
});
In gasless build-only modes, the same get*Tx() methods return a Safe-style request instead of an EOA request.

Guides

If you want implementation examples instead of method reference, use the guides section:

Error handling

See Errors for the exported OstiumError, OstiumSubgraphError, and their error codes.