Account Architecture

Overview

WhirlpoolsConfig

The owner of a Config account has the authority to define the many authorities over the pools that it owns (ex. default fees, collect protocol fees etc) . Whirlpools visible on the ORCA UI are all derived and controlled by a WhirlpoolsConfig account owned by the ORCA foundation. To learn more about managing pools, click here.

Users and other protocols are free to deploy their own WhirlpoolsConfig account on our Whirlpool program to spawn their own set of liquidity pools.

Whirlpool

A Whirlpool is a concentrated liquidity pool between a token pair (A & B).

Each Whirlpool account hosts the necessary information to deal with the accounting of the pool. It also hosts the PDAs to the vaults. Only the Whirlpool program has authority to withdraw from the vault. No one, not even the program owner or WhirlpoolsConfig owner, has the authority to withdraw.

A Whirlpool account is hashed by the Config, Token pair mints and tick spacing, so there can be many pools for the same trading pair but with a different tick-spacing.

Users are able to perform position management and fee/reward collection operations against the Whirlpool.

Position

Positions represents a set of liquidity distributed on a price range within a single Whirlpool. To learn more, read the following:

pageTokenized Positions

How are Whirlpool Accounts stored?

Whirlpool program accounts are all Program Derived Addresses (PDA) derivable from another Whirlpool account up the hierarchy. Use the PDAUtil class to derive the required addresses to access on-chain accounts.

Last updated