Skip to main content
Use these instructions when your strategy vault should interact with Orca Whirlpools. The Exponent SDK does not build Orca instructions directly. Build the Orca TransactionInstruction with the Orca SDK or your own client, then wrap it with orcaWhirlpoolAction before passing it to createVaultSyncTransaction. The vault hook validates Orca Whirlpool instructions, checks vault-owned token accounts, and records opened positions so they can be included in AUM calculations.

Transaction structure

Every Orca Whirlpool action goes through createVaultSyncTransaction.
Include any Orca signers in the signers field passed to orcaWhirlpoolAction. createVaultSyncTransaction returns them in result.signers so they can sign the final transaction.

Action builder parameters

Each orcaWhirlpoolAction method accepts the same parameter shape. The examples below assume you already built the Orca instruction with the Orca SDK or client.

Supported actions

Open a position

Wrap the Orca open-position instruction with the matching Orca action helper.
The SDK tracks opened Orca positions for vault AUM routing. Keep using the same vault owner and vault-owned token accounts when you later modify or close the position.

Increase liquidity

Use increaseLiquidityV2 or increaseLiquidityByTokenAmountsV2 depending on the Orca instruction you built.

Decrease liquidity

Use decreaseLiquidityV2 when the vault should remove liquidity from a tracked Orca position.

Collect fees and rewards

Use collectFeesV2 for trading fees and collectRewardV2 for Whirlpool rewards.

Swap

Use swapV2 when the vault should trade between the Whirlpool token pair.

Close a position

Close the tracked position after liquidity, fees, and rewards are withdrawn.
A matching policy must exist before executing. See Policy Builders.