Skip to Content
Symmio Trading-SDK — the SDK surface for builders on HyperEVM
CoreUnified QuotesOverview

Unified quotes

@symmio/trading-core folds every source of quote-ish data — on-chain positions and pending quotes, pending instant-opens, pending instant-closes, and solver notifications — into one stable, de-duplicated, lifecycle-tagged shape: the UnifiedQuote. It is the primary abstraction consumers build quote and position UIs against.

The rest of the SDK returns raw records from each source. This module is the reconciliation engine that merges them. reconcileQuotes performs a pure, deterministic merge of one snapshot of every source into a de-duplicated row list; applyNotificationToQuotes advances a row’s lifecycle as solver notifications arrive; resolveQuoteAccounts works out which on-chain accounts (a sub-account plus its Virtual Accounts) hold the picture; and the shouldAccelerate* predicates tell a poll scheduler when to tighten its interval.

Every function here is a pure transform — no config, no clock, no network — except resolveQuoteAccounts, which reads Virtual Account addresses on-chain. The merge is stable across ticks: a temp (off-chain) row keeps its identity as it anchors on-chain, so React lists never flicker. The React layer’s useManagedQuotes composes all of it into a live quote list; framework-agnostic consumers call these functions directly.

Each type and function has its own page with the full signature, fields or parameters, return shape, and examples.

Types

Reconciliation

Polling

Adapters

  • Notifications stream — the source applyNotificationToQuotes and classifyQuoteNotificationAction fold in.
  • getSubAccountQuotes — the convenience read that runs resolveQuoteAccounts + the source reads + reconcileQuotes in one call.
  • SolversPendingInstantOpen / PendingInstantClose from getInstantOpens / getInstantCloses feed the reconciler.
  • React useManagedQuotes — the hook composed on top of everything here.
Last updated on