2026-09-30 10:14 UTCccd492
Why a Swap Can Stay Pending: Tick Arrays Explained
Tick arrays supply ranges a concentrated-liquidity swap can cross; a bad sequence can fail execution, while network confirmation determines how long it stays pending.
Crypto Record Editorial3 min read

A swap can remain pending because the network has not confirmed its transaction, while tick arrays determine whether a concentrated-liquidity swap has the data it needs to execute. The distinction matters: an on-chain confirmation delay is different from a transaction that fails because the swap cannot continue through the price ranges it needs to inspect. A wallet’s status alone may not tell you which is happening.
What does a tick array do in a swap?
A tick array stores information about a section of a pool’s possible prices. In a concentrated-liquidity pool, liquidity is active only across particular price ranges. The pool records the boundaries between those ranges as ticks, and liquidity can change when the swap crosses one.
When you submit a swap, the program starts at the pool’s current price and moves in the trade’s direction. It calculates how much can trade before the next initialized tick, applies the liquidity available there, then continues if the order needs more. The transaction must provide the tick-array accounts that cover the path the swap may take. Think of them as pages in a ledger: the program needs the relevant pages to calculate each step.
The interface may show a quoted route before submission, but the on-chain program still checks the supplied accounts and trade limits when it runs. A fuller Byreal swap and liquidity walkthrough covers the user flow; the key mechanic here is that the pool needs the right tick data for the swap’s direction and reach.
Why can missing tick arrays stop a trade?
If the swap needs to cross into a price range whose array was not supplied, the program may reject the transaction. The same can happen if the account sequence is invalid for the pool or direction. This is an execution failure, even if the wallet briefly labels the transaction as pending while it awaits a result.
A larger trade can require more arrays because it may move the price across more ranges. A smaller trade may finish within the current range. The swap’s price limit and minimum-output setting also matter: reaching a limit can stop the calculation before the full requested amount trades, or cause the transaction to fail if its conditions are no longer met.
Tick arrays do not hold a separate pile of tokens for each price. They let the pool find initialized ticks and account for liquidity as the price moves. That makes concentrated liquidity more targeted, but means a swap needs the correct range data to calculate its path.
What should you check when a swap is pending?
Check the transaction’s actual status before submitting it again. If it has not been confirmed, another submission could create a second trade. If it failed, inspect the error or explorer details; a missing account, price limit, or minimum output can point to an execution issue rather than a slow confirmation.
- Confirm whether the transaction is still processing or has failed.
- Check the quoted output and the minimum output allowed by slippage settings.
- If the app offers a refreshed quote, review it before retrying; the pool price may have moved.
- For a repeated tick-array error, use a route or interface that builds the swap accounts for the current pool and direction.
In short, tick arrays shape how far a swap can calculate through a pool’s price ranges. They can explain why execution fails, but they do not by themselves explain a slow confirmation. Treat those as separate checks, and retry only once the first transaction’s status is clear.