
1. High-Level SDKs
The High-Level SDKs are our top recommendation for anyone who wants to integrate with the Whirlpool Program. These SDKs abstract many of the underlying complexities, such as tick array management, and makes managing pools and positions, and executing swaps much simpler. It is suitable for developers who need efficient, high-level functionalities and want to minimize manual configuration and management.- Rust: orca_whirlpools
- Compatible with Solana SDK versions
^3.
- Compatible with Solana SDK versions
- TypeScript Kit: @orca-so/whirlpools
- Compatible with Solana Kit
- Typescript Legacy: @orca-so/whirlpools-sdk
- Compatible with Solana Web3.js. Despite being called “Legacy”, this class-based SDK remains a reliable choice for integrating with projects that use Solana Web3.js. It offers foundational tools for interacting with Orca’s Whirlpool Program and includes utilities from @orca-so/common-sdk.
2. Core SDKs
The Core SDKs provide essential utilities for math operations and quotes, required for working with liquidity pools. These libraries focus on calculations such as determining position status, price conversions, and computing quotes on adjusting liquidity and swaps. It is written in Rust but has been compiled to WebAssembly (Wasm) for easy integration into TypeScript projects.- Rust: orca_whirlpools_core
- TypeScript Kit: @orca-so/whirlpools-core
- TypeScript Legacy: @orca-so/whirlpools-sdk
- The Legacy SDK has separate utility classes for certain math operations such as
PoolUtil,TickUtil,TickArrayUtil, andSwapUtils. For quotes, there are separate functions exported, such asdecreaseLiquidityQuoteByLiquidity,increaseLiquidityQuoteByInputToken,swapQuoteByInputToken,collectFeesQuote,collectRewardsQuote, and more. Check out the reference docs in the navbor for more details.
- The Legacy SDK has separate utility classes for certain math operations such as
3. Low-Level SDKs
This SDK provides direct program interactions and is designed for developers who need complete, low-level control over Whirlpool operations. It covers direct access to Solana accounts, instructions, and transactions.- Rust: orca_whirlpools_client
- Compatible with
anchorversions>=0.31. - Compatible with
solana-programversions^3
- Compatible with
- TypeScript Kit: @orca-so/whirlpools-client
- Compatible with Solana Kit
- Typescript Legacy: @orca-so/whirlpools-sdk
- The Legacy SDK offers the
WhirlpoolIxclass which enables you to interface directly with the instructions of the Whirlpool Program.
- The Legacy SDK offers the
