Skip to main content
When a market becomes inactive, its token accounts and related PDAs will be compressed - their state is committed and effectively frozen until a client decompresses it. While compressed, pure on-chain lookups will return uninitialized. Your indexer should keep tracking, quoting, and routing markets even if the on-chain account shows is_initialized: false, is_compressed: true. To trade a cold market, the first client must prepend an idempotent decompress “warm up” instruction.
import { createLoadAtaInstructions } from "@lightprotocol/compressed-token/unified";

const warmupIxs = await createLoadAtaInstructions(
  rpc,
  tokenAccount,
  owner,
  mint,
  payer
);

new Transaction().add(...warmupIxs, tradeIx);

Stream Light-Mint Accounts

Toolkit to stream light-mints