Skip to content
Next — unreleased

Defined in: packages/sage/src/markets/index.ts:243

One cargo offer in a Faction Market.

declare const offer: FactionMarketOfferSnapshot;
console.log(offer.name, offer.priceAtlas);

readonly canBuyFromFaction: boolean;

Defined in: packages/sage/src/markets/index.ts:244

readonly canSellToFaction: boolean;

Defined in: packages/sage/src/markets/index.ts:245

readonly categoryId: number;

Defined in: packages/sage/src/registry/index.ts:119

CargoDefinitionSummary.categoryId

readonly id: number;

Defined in: packages/sage/src/registry/index.ts:120

CargoDefinitionSummary.id

readonly mint: Address;

Defined in: packages/sage/src/registry/index.ts:121

CargoDefinitionSummary.mint

readonly name: string;

Defined in: packages/sage/src/registry/index.ts:122

CargoDefinitionSummary.name

readonly priceAtlas: number;

Defined in: packages/sage/src/markets/index.ts:247

readonly priceRaw: bigint;

Defined in: packages/sage/src/markets/index.ts:246

readonly remainingQuantityRaw: bigint;

Defined in: packages/sage/src/markets/index.ts:248

readonly storageCost: number;

Defined in: packages/sage/src/registry/index.ts:127

Encoded storage cost with 8 fractional bits: 256 means one whole storage unit. For a nonnegative bigint quantity, use (quantity * BigInt(storageCost) + 255n) / 256n. Round each transfer row up before summing; Fleet capacities and pod usage are whole units.

CargoDefinitionSummary.storageCost


Defined in: packages/sage/src/markets/index.ts:258

Immutable Faction Market configuration, lifecycle, and offers snapshot.

declare const market: FactionMarketSnapshot;
console.log(market.status, market.offers);
  • Omit<FactionMarketAccountData, "game" | "offers" | "system">

readonly address: Address;

Defined in: packages/sage/src/markets/index.ts:263

readonly atlasBurnBasisPoints: number;

Defined in: packages/sage/src/internal/c4/market.ts:123

Omit.atlasBurnBasisPoints

readonly authoredTargetQuantityRaw: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:120

Omit.authoredTargetQuantityRaw

readonly bump: number;

Defined in: packages/sage/src/internal/c4/market.ts:111

Omit.bump

readonly factionId: number;

Defined in: packages/sage/src/internal/c4/market.ts:113

Omit.factionId

readonly faucetEnabled: boolean;

Defined in: packages/sage/src/internal/c4/market.ts:125

Omit.faucetEnabled

readonly game: EntityRef<"game">;

Defined in: packages/sage/src/markets/index.ts:264

readonly kind: "factionMarket";

Defined in: packages/sage/src/markets/index.ts:262

readonly lastRestockedAtUnixSeconds: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:122

Omit.lastRestockedAtUnixSeconds

readonly minimumStandingToBuy: number;

Defined in: packages/sage/src/internal/c4/market.ts:117

Omit.minimumStandingToBuy

readonly minimumStandingToSell: number;

Defined in: packages/sage/src/internal/c4/market.ts:118

Omit.minimumStandingToSell

readonly offers: readonly FactionMarketOfferSnapshot[];

Defined in: packages/sage/src/markets/index.ts:266

readonly priceTierBasisPoints: readonly number[];

Defined in: packages/sage/src/internal/c4/market.ts:119

Omit.priceTierBasisPoints

readonly restockPeriodSeconds: number;

Defined in: packages/sage/src/internal/c4/market.ts:121

Omit.restockPeriodSeconds

readonly standingBasisPoints: number;

Defined in: packages/sage/src/internal/c4/market.ts:124

Omit.standingBasisPoints

readonly starbaseSequenceId: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:115

Omit.starbaseSequenceId

readonly status: "active" | "draft" | "removed";

Defined in: packages/sage/src/internal/c4/market.ts:116

Omit.status

readonly system: EntityRef<"starSystem">;

Defined in: packages/sage/src/markets/index.ts:265

readonly version: number;

Defined in: packages/sage/src/internal/c4/market.ts:110

Omit.version

toJSON(): unknown;

Defined in: packages/sage/src/markets/index.ts:267

unknown


Defined in: packages/sage/src/markets/index.ts:115

Observed locked principal and released proceeds for one Local Market maker row.

These values classify the row’s stored amounts. Released amounts do not establish withdrawal availability or predict a future transfer.

declare const assets: LocalMarketMakerAssets;
console.log(assets.lockedAtlasRaw, assets.releasedCargoRaw);

readonly lockedAtlasRaw: bigint;

Defined in: packages/sage/src/markets/index.ts:116

readonly lockedCargoRaw: bigint;

Defined in: packages/sage/src/markets/index.ts:117

readonly releasedAtlasRaw: bigint;

Defined in: packages/sage/src/markets/index.ts:118

readonly releasedCargoRaw: bigint;

Defined in: packages/sage/src/markets/index.ts:119

toJSON(): unknown;

Defined in: packages/sage/src/markets/index.ts:120

unknown


Defined in: packages/sage/src/markets/index.ts:100

One Profile’s maker state on one order-book side.

escrowedOrReleasedAtlas is escrowed ATLAS for bids and ATLAS released from completed sales for asks. It does not establish that either amount is currently withdrawable.

declare const makerState: LocalMarketMakerStateSnapshot;
console.log(makerState.escrowedOrReleasedAtlas);
  • LocalMarketMakerData

readonly cargoRaw: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:78

LocalMarketMakerData.cargoRaw

readonly escrowedOrReleasedAtlas: number;

Defined in: packages/sage/src/internal/c4/market.ts:77

LocalMarketMakerData.escrowedOrReleasedAtlas

readonly escrowedOrReleasedAtlasRaw: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:76

LocalMarketMakerData.escrowedOrReleasedAtlasRaw

readonly openOrderCount: number;

Defined in: packages/sage/src/internal/c4/market.ts:74

LocalMarketMakerData.openOrderCount

readonly profile: Address;

Defined in: packages/sage/src/internal/c4/market.ts:73

LocalMarketMakerData.profile

readonly profileRef: EntityRef<"profile">;

Defined in: packages/sage/src/markets/index.ts:101

readonly rentBytesOwnedRaw: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:75

LocalMarketMakerData.rentBytesOwnedRaw

Defined in: packages/sage/src/markets/index.ts:209

One translated side of a Local Market order book.

declare const book: LocalMarketOrderBookSnapshot;
console.log(book.orders.length);

readonly makers: readonly LocalMarketMakerStateSnapshot[];

Defined in: packages/sage/src/markets/index.ts:211

readonly nextOrderIdRaw: bigint;

Defined in: packages/sage/src/markets/index.ts:210

readonly orders: readonly LocalMarketOrderSnapshot[];

Defined in: packages/sage/src/markets/index.ts:212


Defined in: packages/sage/src/markets/index.ts:84

One translated Local Market order.

declare const order: LocalMarketOrderSnapshot;
console.log(order.side, order.priceAtlas);
  • LocalMarketOrderData

readonly maker: Address;

Defined in: packages/sage/src/internal/c4/market.ts:65

LocalMarketOrderData.maker

readonly makerRef: EntityRef<"profile">;

Defined in: packages/sage/src/markets/index.ts:85

readonly orderId: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:64

LocalMarketOrderData.orderId

readonly priceAtlas: number;

Defined in: packages/sage/src/internal/c4/market.ts:67

LocalMarketOrderData.priceAtlas

readonly priceRaw: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:66

LocalMarketOrderData.priceRaw

readonly quantityRaw: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:68

LocalMarketOrderData.quantityRaw

readonly side: "bid" | "ask";

Defined in: packages/sage/src/internal/c4/market.ts:69

LocalMarketOrderData.side

Defined in: packages/sage/src/markets/index.ts:222

Immutable Local Market, order book, escrow, and maker-state snapshot.

declare const market: LocalMarketSnapshot;
console.log(market.cargo.name, market.asks.orders);
  • Omit<LocalMarketAccountData, "asks" | "bids" | "cargo" | "initializerProfile" | "system">

readonly address: Address;

Defined in: packages/sage/src/markets/index.ts:227

readonly asks: LocalMarketOrderBookSnapshot;

Defined in: packages/sage/src/markets/index.ts:232

readonly bids: LocalMarketOrderBookSnapshot;

Defined in: packages/sage/src/markets/index.ts:231

readonly bump: number;

Defined in: packages/sage/src/internal/c4/market.ts:91

Omit.bump

readonly cargo: CargoDefinitionSummary & {
amountRaw: bigint;
};

Defined in: packages/sage/src/markets/index.ts:230

readonly amountRaw: bigint;

readonly initializerProfile: EntityRef<"profile">;

Defined in: packages/sage/src/markets/index.ts:229

readonly kind: "localMarket";

Defined in: packages/sage/src/markets/index.ts:226

readonly starbaseSequenceId: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:90

Omit.starbaseSequenceId

readonly system: EntityRef<"starSystem">;

Defined in: packages/sage/src/markets/index.ts:228

readonly vaultAtlas: number;

Defined in: packages/sage/src/internal/c4/market.ts:95

Omit.vaultAtlas

readonly vaultRaw: bigint;

Defined in: packages/sage/src/internal/c4/market.ts:94

Omit.vaultRaw

readonly version: number;

Defined in: packages/sage/src/internal/c4/market.ts:88

Omit.version

toJSON(): unknown;

Defined in: packages/sage/src/markets/index.ts:233

unknown


Defined in: packages/sage/src/markets/index.ts:73

Discovery controls for Local Market finders.

const options: MarketDiscoveryOptions = { commitment: 'confirmed' };

readonly optional commitment?: Commitment;

Defined in: packages/sage/src/client/contracts.ts:194

ReadOptions.commitment

readonly optional maxAgeMs?: number;

Defined in: packages/sage/src/client/contracts.ts:496

Maximum age of a completed cache entry in milliseconds.

Overrides the context’s defaultMaxAgeMs. Use 0 to always revalidate or Infinity to reuse completed cache entries until explicit invalidation.

ReadOptions.maxAgeMs

readonly optional policy?: "cache-first" | "no-store";

Defined in: packages/sage/src/client/contracts.ts:497

ReadOptions.policy

readonly optional refresh?: boolean;

Defined in: packages/sage/src/client/contracts.ts:490

Bypasses a completed cache entry.

A refresh may share a compatible provider request that is already in flight, because that request has not yet produced cached state.

ReadOptions.refresh

readonly optional signal?: AbortSignal;

Defined in: packages/sage/src/markets/index.ts:74

ReadOptions.signal

function deriveFactionMarketAddress(
game,
system,
starbaseSequenceId): Promise<Address>;

Defined in: packages/sage/src/markets/index.ts:59

Derives a Faction Market PDA from its verified generated seeds.

ParameterType
gameAddress
systemAddress
starbaseSequenceIdbigint

Promise<Address>

declare const game: Address;
declare const system: Address;
const address = await deriveFactionMarketAddress(game, system, 0n);

function deriveLocalMarketAddress(
system,
cargoId,
starbaseSequenceId): Promise<Address>;

Defined in: packages/sage/src/markets/index.ts:43

Derives a Local Market PDA from its verified generated seeds.

ParameterType
systemAddress
cargoIdnumber
starbaseSequenceIdbigint

Promise<Address>

declare const system: Address;
const address = await deriveLocalMarketAddress(system, 1, 0n);

function deriveLocalMarketMakerAssets(side, maker): LocalMarketMakerAssets;

Defined in: packages/sage/src/markets/index.ts:161

Projects one observed maker row into side-aware locked principal and released proceeds.

The helper performs no network or signing work and does not infer fill state, fees, refunds, freshness, or whether released assets can be withdrawn.

ParameterType
side"bid" | "ask"
makerPick<LocalMarketMakerStateSnapshot, "cargoRaw" | "escrowedOrReleasedAtlasRaw">

LocalMarketMakerAssets

declare const maker: LocalMarketMakerStateSnapshot;
const assets = deriveLocalMarketMakerAssets('bid', maker);
console.log(assets.lockedAtlasRaw, assets.releasedCargoRaw);

function getFactionMarket(
context,
address,
options?): Promise<FactionMarketSnapshot>;

Defined in: packages/sage/src/markets/index.ts:557

Reads one required Faction Market by address.

ParameterType
contextSageContext
addressAddress
options?ReadOptions

Promise<FactionMarketSnapshot>

declare const ctx: SageContext;
declare const address: Address;
const market = await getFactionMarket(ctx, address);

function getFactionMarketForSystem(
context,
system,
starbaseSequenceId,
options?): Promise<FactionMarketSnapshot>;

Defined in: packages/sage/src/markets/index.ts:601

Derives and reads the configured Game’s Faction Market at one Starbase incarnation.

ParameterType
contextSageContext
systemAddress
starbaseSequenceIdbigint
options?ReadOptions

Promise<FactionMarketSnapshot>

declare const ctx: SageContext;
declare const system: Address;
const market = await getFactionMarketForSystem(ctx, system, 0n);

function getLocalMarket(
context,
address,
options?): Promise<LocalMarketSnapshot>;

Defined in: packages/sage/src/markets/index.ts:418

Reads one required Local Market by address.

ParameterType
contextSageContext
addressAddress
options?ReadOptions

Promise<LocalMarketSnapshot>

declare const ctx: SageContext;
declare const address: Address;
const market = await getLocalMarket(ctx, address);

function getLocalMarketForCargo(
context,
system,
cargoId,
starbaseSequenceId,
options?): Promise<LocalMarketSnapshot>;

Defined in: packages/sage/src/markets/index.ts:460

Derives and reads a Local Market for cargo at one Starbase incarnation.

ParameterType
contextSageContext
systemAddress
cargoIdnumber
starbaseSequenceIdbigint
options?ReadOptions

Promise<LocalMarketSnapshot>

declare const ctx: SageContext;
declare const system: Address;
const market = await getLocalMarketForCargo(ctx, system, 1, 0n);

function getLocalMarketOrdersByProfile(
context,
market,
profile,
options?): Promise<readonly LocalMarketOrderSnapshot & {
makerState: LocalMarketMakerStateSnapshot;
}[]>;

Defined in: packages/sage/src/markets/index.ts:516

Returns one Profile’s open orders with that side’s maker state.

Bid-side ATLAS is escrowed for buy orders. Ask-side ATLAS was released from completed sell orders. Neither interpretation promises withdrawability.

ParameterType
contextSageContext
marketAddress
profileAddress
options?ReadOptions

Promise<readonly LocalMarketOrderSnapshot & { makerState: LocalMarketMakerStateSnapshot; }[]>

declare const ctx: SageContext;
declare const market: Address;
declare const profile: Address;
const orders = await getLocalMarketOrdersByProfile(ctx, market, profile);

function getLocalMarketsBySystem(
context,
system,
options?): Promise<readonly LocalMarketSnapshot[]>;

Defined in: packages/sage/src/markets/index.ts:482

Discovers all Local Markets stored for one Star System.

ParameterType
contextSageContext
systemAddress
options?MarketDiscoveryOptions

Promise<readonly LocalMarketSnapshot[]>

declare const ctx: SageContext;
declare const system: Address;
const markets = await getLocalMarketsBySystem(ctx, system);

function maybeGetFactionMarket(
context,
address,
options?): Promise<
| FactionMarketSnapshot
| undefined>;

Defined in: packages/sage/src/markets/index.ts:577

Reads one optional Faction Market by address.

ParameterType
contextSageContext
addressAddress
options?ReadOptions

Promise< | FactionMarketSnapshot | undefined>

declare const ctx: SageContext;
declare const address: Address;
const market = await maybeGetFactionMarket(ctx, address);

function maybeGetLocalMarket(
context,
address,
options?): Promise<
| LocalMarketSnapshot
| undefined>;

Defined in: packages/sage/src/markets/index.ts:437

Reads one optional Local Market by address.

ParameterType
contextSageContext
addressAddress
options?ReadOptions

Promise< | LocalMarketSnapshot | undefined>

declare const ctx: SageContext;
declare const address: Address;
const market = await maybeGetLocalMarket(ctx, address);