client.market(address). The VoizMarket class is not root-exported from @voiz/markets-sdk. Prefer summary / display helpers for UI. Sole public seed write is seed. Primary LP path is addLiquidity.
load, summaryFromRpc, outcomePrices) power the public reads below — not part of the app-facing API.
Reads
summary
DetailMarketSummary DTO: ponder-first, then RPC. Canonical for FE.
rpcOnly: true skips Ponder and reads chain only. requireFactory (default true on the RPC path) returns null when the address is not in the live factory list.
priceHistory
Windowed price history from the indexer (from = unix seconds). Soft-fails to [].
prices
Display prices — indexer snapshots (~30s) with liveslot0 fallback. Not for trade quotes (use pool.quoteTrade).
outcomes, wrappedTokens, numOutcomes, resolved, winningOutcome — omit to load from the market snapshot.
metrics
Liquidity + volume per outcome — indexeroutcome table with live collateral-reserve fallback.
wrappedTokens, numOutcomes.
seedStatus
Real outcome tokens only (not Invalid)."none" | "partial" | "seeded".
outcomeTokens to skip the snapshot load (real outcomes only).
canResolve
Whetheruser can resolve: admin → user === marketAdmin; committee → MultisigOracle.isVoter(user).
Writes
seed
Sole public seed write: split once, then one send per outcome batch.marketAddress comes from this instance.
splitResult / outcomeResults are opaque sender results. Also accepts forceApprovals?: boolean.
resolve
Resolve via the client sender. Admin markets auto-passmarketAdmin as requiredSigner unless overridden.
requiredSigner?: Address.
merge
Merge complete sets back to collateral.forceApprovals?: boolean, wrappedTokens?: Address[].
addLiquidity
Primary LP path: mint shares once, then provide into each open outcome pool.outcomeTokens, outcomeLabels, forceApprovals, skipUninitialized, getSqrtPriceX96, setProgress, continueOnError, onOutcomeError. splitResult / per-outcome result stay opaque.