PBJ SDK documentation

GitHub & Solana

Connect repositories and read deployed program, wallet, treasury, and project analytics data through PBJ.

Connect a repository

ts
await pbj.repositories.connect(project.id, {
  owner: "pbjspace",
  name: "pbj-sdk",
});

Track a Solana program

ts
await pbj.programs.track(project.id, {
  address: "11111111111111111111111111111111",
  network: "devnet",
});

The SDK forwards program requests through the PBJ API. It does not sign transactions, bundle a wallet adapter, or contact Solana RPC directly.

Treasury and analytics

ts
const balance = await pbj.treasury.getBalance(project.id);
const metrics = await pbj.analytics.getProjectMetrics(project.id);

console.log(balance.solLamports, metrics.tokenHolders);

Atomic balances and lamports are returned as decimal strings to avoid precision loss.

Wallet pagination

ts
import { paginate } from "pbjspace";

for await (const transaction of paginate(
  (options) => pbj.wallets.getActivity(address, options),
  { limit: 50 },
)) {
  console.log(transaction.signature);
}