SDK Reference

@bazaarfi/sdk provides a typed client for building and signing BazaarFi transactions.

Setup

import { BazaarFiClient } from "@bazaarfi/sdk";
const client = new BazaarFiClient(connection, wallet);

Create trade

const built = await client.buildCreateTrade(maker, {
  give: [{ kind: "sol", amount: 1_000_000_000n }],
  receive: [{ kind: "spl", mint: tokenMint, amount: 500_000_000n }],
  expiresAt: Math.floor(Date.now() / 1000) + 7 * 86_400,
});
// built.tradeAddress, built.transactions[]

Accept trade

May require ALT setup for large bundles, then a versioned settlement transaction:

const built = await client.buildAcceptTrade(tradePda, taker);
// built.setup[] — optional LUT transactions
// built.buildSettle(blockhash) — VersionedTransaction

Other methods

  • fetchTrade(address) — read on-chain state
  • buildCancelTrade(address, maker)
  • buildCloseTrade(address, maker)
  • buildExpireTrade(address, cranker)
  • deriveTradePda(maker, seed) — PDA helper

Full SDK docs: docs/sdk.md