Skip to documentation

Guides

Providing liquidity

Full-range and concentrated positions, staking, compounding and rebalancing.

V2 positions

Depositing both assets into a V2 pool mints LP tokens. Router.zapIn also supports entry from one token and can stake the actual minted LP amount internally. Router.zapOut removes liquidity and swaps the outputs into a selected token such as USDC.

Slipstream positions

Each NFT records its token pair, tick spacing, lower and upper ticks, liquidity and owed tokens. Liquidity is active only inside its range. Outside the range, the position may hold a single asset and stops contributing active swap liquidity.

Amounts and prices must account for ARCHERY's 18 decimals and USDC's 6 decimals. Tick spacing 100 constrains valid range boundaries; token ordering determines the price orientation.

Stake in a gauge

V2 gauges hold deposited LP tokens. Slipstream gauges take custody of a position NFT and track its depositor. Staked NFT changes must follow the gauge's authorization rules; the call helper can withdraw the NFT, update it, and restake it within one batch.

Compound an existing position

The helper uses explicit quoted amounts. Newly accrued rewards or unused deposit amounts can remain in the wallet. Compounding here is a user-signed action, not a scheduled vault or keeper service.

  1. Claim eligible rewards and collect position fees.
  2. Quote any swaps needed to obtain the two pool assets.
  3. Compose approvals, swaps and increaseLiquidity for the existing NFT.
  4. Restake the same NFT and simulate the full batch before signing.

Move to a new range

A range cannot be edited in place. The rebalance batch unstakes, removes liquidity, collects tokens, burns the emptied NFT, performs quoted swaps and mints a new position. Read the actual minted ID from the receipt before submitting the new NFT's stake batch.

If removing a position empties its pool, that pool cannot also supply the rebalance swap. Use another liquid route. Unspent tokens and an unstaked new NFT remain in the owner's wallet.