After confirmation, derive balances and positions from on-chain events and contract reads, allowing for indexer lag. A swap receipt, an LP NFT, and a farm deposit represent different outcomes; do not mark all three complete because one transaction succeeded. Persist the chain ID, token and pool addresses, quote block, minimum output, and transaction hash together so a stale quote or wrong-chain report can be diagnosed quickly.

Before requesting a signature, check balance, native gas, allowance spender, quote freshness, minimum output, and deadline. Simulate the exact call against recent chain state and discard the quote if the wallet switches networks. Scope approvals to the required spender and amount where the transaction path permits it.

Verify contract identity, transaction bounds, and the resulting position at each stage. Start from chain-specific factory, router, position-manager, and farm addresses published for the deployment, then confirm deployed bytecode and token addresses on that chain.

What Should an Integrator Verify Before Shipping?

Holding BOO through an xBOO receipt is a separate choice for someone seeking BOO exposure without a two-asset LP position. It does not collect that pair's trading fees or qualify automatically for its farm. Keep staking, LP ownership, and farm rewards as separate position types in an integration.

Annualized yields need a time horizon. At an illustrative 12% simple APR, a $10,000 position held for 30 days suggests about $99 of rewards before changes in emission rate, reward-token price, pool inventory, and gas. Show those components separately; adding an estimated farm APR to a historical trading-fee APR creates a number that neither contract promises.

A V3 farm receives a position NFT for a qualifying pool and fee tier, then accounts for rewards under that program's rules. Check the NFT's token pair, fee tier, range, and current ownership before offering a deposit. The farm mechanics distinguish protocol-created farms from community-created ones, which may use different reward tokens.

BOO rewards justify farming only when an eligible LP position's expected rewards compensate for its price exposure, gas, and additional contract risk. SpookySwap on Fantom and Sonic can have different active programs, so discover eligibility on the chain where the position exists.

When Do BOO Farms Change the Decision?

Token behavior can settle the version choice early. The protocol's integration notes flag fee-on-transfer and rebasing tokens as special cases for V3. Test the exact token and contract path rather than assuming that a successful pool creation means swaps and withdrawals will behave normally.

V3 fees accrue separately rather than automatically increasing the position, so collecting and reinvesting them takes transactions. Narrowing a range can increase fee share while active, but it also raises the chance of inactivity and inventory drift. Compare expected fee income after gas and rebalancing with a wider range or V2 before committing capital.

SpookySwap V3 concentrates capital between chosen bounds, allowing more depth near the current price. For example, a range from 0.99 to 1.01 can suit a pair expected to trade near parity, but it needs monitoring if that assumption fails. Once price leaves the range, the position becomes one-sided and stops earning swap fees until price returns or the provider repositions it.

In V2, fees remain in pool reserves, so an LP's claim grows through the pool share. If an asset doubles against its pair, a balanced constant-product position underperforms simply holding the original assets by about 5.7% before fees. That loss is a useful baseline when comparing any proposed LP yield with holding.

Use V2 when full-range, fungible LP exposure fits the strategy; use V3 when someone can choose and maintain a useful price range. The deciding variable is how often the position is likely to be active, not its advertised fee APR.

When Should a Pool Position Use V2 or V3?

Requote if the wallet changes chain, the input amount changes, or the quote becomes stale. For tokens with transfer taxes or rebasing behavior, a standard router quote may not match the amount the pool receives; verify support for that token's mechanics before presenting an executable route.

Bind the submitted transaction to a minimum output and a deadline. If the quoted output is 987.16 and the user accepts an illustrative 0.5% movement, minimum output is about 982.22; the allowance does not erase the price impact already present in the quote. An overly wide tolerance permits worse execution, while a tight one can cause a revert after another trade changes the reserves.

V3 requires a different quote calculation because liquidity is distributed across ticks and the trade may cross several of them. The pool fee model also applies a fee at each hop. Compare final output, then convert estimated gas into the output asset before ranking routes; gas can reverse the result for a small trade.

For a worked V2 example, say two equally valued tokens sit in reserves of 100,000 units each. Selling 1,000 input units with a 0.30% pool fee puts 997 units into the constant-product calculation and returns about 987.16 output units. A pool with ten times those reserves returns about 996.01 under the same assumptions: depth saves more than changing a small fee could.

The defensible route gives the highest executable output for the user's actual input after pool fees, price impact, and gas. Compare direct and multi-hop paths at the same block, using each pool's live liquidity rather than treating the lowest fee tier as the cheapest route.