Solana DEX Tick Array Boundaries Shape Swap Execution
Solana tick arrays group pool ticks into accounts that swaps traverse in order; spacing and supplied arrays shape execution, price limits and route reliability.
The Blockheight Editors··2 min read
On Solana concentrated-liquidity DEXs, a swap that crosses a tick-array boundary needs the next array in the correct order to keep moving through the pool. Tick arrays hold price levels and liquidity data in program accounts; they let the swap find liquidity as price changes, while the accounts a transaction supplies can limit how far it can proceed.
What does a tick array boundary mean?
A tick is a price step where liquidity can begin or end, and a tick array groups multiple such steps into one account. In Orca Whirlpools, a fixed-length array contains 88 tick slots, while the pool’s tick spacing determines how far apart usable ticks are and how much price range an array covers.
That means a boundary is an account-range edge, not a price wall in the market. A swap can cross ticks and move into a neighboring range if the transaction provides the next array; if the supplied sequence cannot support the swap’s path, the program can reject it or the swap may stop at its price limit.
Why do boundaries affect a swap?
The program checks initialized ticks in the direction of the trade, updates liquidity as it crosses them, then continues into the next array when needed. Orca’s Whirlpool swap instruction takes tick-array accounts, and its program defines errors for an invalid array sequence or an out-of-range array lookup.
For a trader, this account requirement can matter when a large price move crosses several ranges: the quoted output assumes a path through liquidity, but the submitted transaction must include the accounts needed for that path. For a separate route-level comparison, see three checks for Byreal swap routes.
How should you check a swap near a boundary?
Before signing, inspect the route quote and transaction details for the pool, trade direction, price limit and supplied tick arrays. Orca’s fixed-length swap instruction includes three primary tick-array accounts; its newer swap path also supports supplemental arrays, so the exact account set depends on the instruction and client version.
- Confirm the pool and swap direction match the quote; direction determines which neighboring ranges the program searches.
- Check that the tick-array accounts belong to that pool and appear in the sequence required for the trade direction.
- Review the price limit and minimum output alongside the quoted amount; a limit can cap execution before the full input trades.
- If a transaction fails near a boundary, refresh the quote and account data, then check whether the route builder supplied the next required array.
Do all Solana DEXs use the same array rules?
No. Tick arrays are an implementation detail of a pool program, and account layout, array length, supported instruction versions and transaction account limits can differ across venues. Orca’s 88-slot fixed arrays describe Whirlpools; they should not be assumed to describe every Solana DEX.
The practical takeaway is to treat an array boundary as an execution and transaction-building checkpoint. For most swaps, a fresh quote from a route builder that supplies the pool’s required accounts is the simplest path; larger trades deserve closer review of price limits and expected output. The next step is to confirm the route and transaction before signing; the precise behavior still depends on the pool program and swap instruction used.