Skip to main content
This page lists all deployed addresses for the Stableswapper program. Reference these when constructing transactions or integrating with the contract.
These docs currently show devnet/testnet addresses only. Do not use these addresses on mainnet. Mainnet addresses will be provided during your production onboarding.

Program

NetworkProgram ID
Solana Devnet9vDwZVJXw5nxymWmUcgmNpemDH5EBcJwLNhtsznrgJDH

Token Mints

NetworkTokenMint Address
Solana DevnetUSDC4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU
Solana DevnetCBTUSD5P6MkoaCd9byPxH4X99kgKtS6SiuCQ67ZPCJzpXGkpCe
CBTUSD is a testnet custom stablecoin, used as the example token throughout this documentation. Your custom stablecoin mint address will be provided separately during onboarding.

Program Derived Addresses (PDAs)

These accounts are deterministically derived from the program ID using the seeds shown. You do not need to store them — derive them at runtime using PublicKey.findProgramAddressSync.
AccountAddressSeedsRole
Pool68xwTJYRyUdULbb5ve4JMWTc2xvw9wQmtEj9GRoHSenF["liquidity_pool"]Central pool state — holds fee rate, fee recipient, and supported vault list
Whitelist8zVAo6z2juAcVMkn3booA4yMGym5BPUJey2iN1Nq7Hvr["address_whitelist"]Address allowlist checked against the transaction signer on every swap
Token vaults and vault token accounts are derived per-mint at runtime:
// Vault PDA (logical owner for a token's reserves)
const [vault] = PublicKey.findProgramAddressSync(
  [Buffer.from("token_vault"), pool.toBuffer(), mintAddress.toBuffer()],
  programId
);

// Vault Token Account (where reserves actually live)
const [vaultTokenAccount] = PublicKey.findProgramAddressSync(
  [Buffer.from("vault_token_account"), vault.toBuffer()],
  programId
);

Constant Program Addresses

These well-known Solana program addresses are required as accounts in every swap instruction.
ProgramAddress
SPL Token ProgramTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
Associated Token ProgramATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL
System Program11111111111111111111111111111111
Privacy notice: All transactions on devnet and testnet blockchains are publicly visible. To protect your privacy during testing, we recommend using a dedicated test wallet rather than a personal wallet, as your wallet address and transaction history may be viewable by anyone on the blockchain.