Skip to main content
Import everything from the package root:
On-chain read/write methods accept a market as a numeric id (bigint | number) or its PublicKey PDA. Oracle (indexer) methods accept a PublicKey | string. Amounts are in base units — use uiToBaseUnits / baseUnitsToUi.

PnpClient

Also exposed as properties: network, connection, programId, program (the underlying anchor Program), provider, commitment, wallet?, criteriaApiUrl, oracleApiUrl.
"mainnet" | "devnet"
required
Target network. Set automatically by the .mainnet() / .devnet() presets.
Keypair | AnchorWallet
A Node Keypair or browser wallet adapter. Omit for a read-only client.
string
Override the network default RPC endpoint.
Connection
Provide a preconfigured @solana/web3.js connection instead of rpcUrl.
Commitment
default:"confirmed"
Transaction commitment level.
string
Override the settlement-criteria server base URL.
string
Override the indexer API base URL (include the /api prefix).

client.p2p — parimutuel (V3)

client.amm — Pythagorean (V2)

client.oracle — indexer reads

ResolvableStatus = "checking" | "resolvable" | "unresolvable". waitForResolvable options: { apiUrl?, intervalMs? (3000), timeoutMs? (120000) }.

Helper functions

  • toBN(value) => BN
  • toBig(value) => bigint
  • u64le(value) => Buffer — 8-byte little-endian
  • uiToBaseUnits(amount, decimals) => bigint — uiToBaseUnits(100, 6) === 100_000000n
  • baseUnitsToUi(amount, decimals) => number
  • getTokenProgramForMint(connection, mint) => Promise<PublicKey> — classic vs Token-2022
  • ata(mint, owner, tokenProgram?) => PublicKey — associated token address
  • Constants: TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID
Each is (programId, id) => PublicKey unless noted:
  • pda.globalConfigPda(programId)
  • pda.marketV2Pda, pda.marketV2ExtensionPda
  • pda.marketV3Pda, pda.yesMintV3Pda, pda.noMintV3Pda, pda.marketV3ExtensionPda, pda.marketV3GatePda
  • pda.creatorFeeTreasuryPda(...), pda.reserveVault(...)
  • buildSettlementCriteriaMessage(params) => string
  • sha256Hex(input) => string
  • randomNonce() => string
  • resolveNetwork(cluster) => NetworkConfig
  • NETWORKS — { mainnet, devnet }
  • getIdl(cluster) => Idl, PNP_IDL_MAINNET, PNP_IDL_DEVNET, IDL_PROGRAM_ADDRESS

Constants

Key types

P2PMarket

Decoded + computed snapshot returned by p2p.getMarket. Token amounts are bigint base units.

AmmMarket

Shared enums

Full type list

Every exported param/result/type is enumerated in the repo’s FUNCTIONS.md.