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.

V3 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 LP tokens; V3 gauges hold position NFTs. depositFor records the beneficiary who can claim and withdraw, even when ArcheryUtils supplies the assets. New mint-and-stake requires token approvals to ArcheryUtils, not a user NFT approval. For an existing NFT, execute requires approval to the utility; an owner can instead transfer it directly with safeTransferFrom and encoded instructions.

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 and collects liquidity, performs quoted swaps, mints a new position and burns the empty old NFT. ArcheryUtils stakes the new NFT for you before the transaction finishes; if that path fails, the app reads its actual ID from the receipt and asks you to stake afterwards.

If removing a position empties its pool, that pool cannot also supply the rebalance swap. Use another liquid route. Unspent tokens return to the recipient. With the one-transaction stake the gauge holds the NFT and your wallet owns the stake rights; with the fallback the new NFT stays in your wallet until staked.