Whirlpools is an open-sourced concentrated liquidity automated market maker (CLAMM) program built for the Solana ecosystem.
In this portal, you can find information on the specific design details on the protocol and instructions on how to interact with it.

Open-sourced Rust Smart Contract

Get access to the Anchor IDL, account name documentation in this portal to help you integrate your smart-contract with Whirlpools.

Typescript SDK Features

With the Typescript SDK, you can easily do the following:
  • Use the WhirlpoolClient or construct your own transactions with the raw instructions to:
    • Manage your positions (open position, increase, decrease liquidity, close position)
    • Swap tokens on Whirlpools
    • Collect fees and rewards
    • As a WhirlpoolsConfig owner, manage a set of Whirlpools
  • Quotes - helper functions to help developers perform quote estimations on tasks such as:
    • Estimating the tokens required to deposit or withdrawn from positions
    • Estimating available fees and rewards to collect
    • Get a quote on a swap
  • Utility classes
    • AccountFetcher - simple to use class to fetch, parse & cache Whirlpools accounts
    • Easily calculate conversion math between price, sqrt-price and ticks
    • Other helper functions to help interact with Whirlpools components

Migrating from V0 Typescript SDK

If you have previously installed the V0 SDK@orca-so/whirlpool-sdk package, please remove it here as the API are not compatible. Read the following article to see whether you should upgrade to this SDK.

Security Audits

The Whirlpools smart contract had been audited by Kudelski Security and Neodyme.
Kudelski Security
This audit report was completed on another repository prior to additional bug fixes from the Orca team. The bug-fixes are audited by the newer report above.


​Apache 2.0​