Managing concentrated liquidity on Uniswap v3 requires active position monitoring. When ETH/USDC price moves from $2000 to $2500, a position with range $1800–$2200 converts entirely to USDC, earning zero fees. Manual rebalancing on mainnet is costly and impractical. The solution is an Arrakis vault, which manages Uniswap v3 liquidity with automatic rebalancing.
Arrakis (formerly G-UNI) solves this: the vault contract holds a Uniswap v3 position and rebalances automatically according to a strategy. LP deposits tokens into the Arrakis vault, receives an ERC-20 representation of the position, and the vault manages ticks. Integrating Arrakis into your own DeFi product offers passive LP without operational costs for users. Our team has 5+ years of experience in DeFi development and has completed over 20 Arrakis protocol integrations.
How Automatic Rebalancing Works in Arrakis
The Manager—an address or contract authorized to call rebalance—can be a multisig, Gelato automated executor, or custom strategic contract. The manager decides when and how to rebalance. A typical strategy: 80% liquidity in a wide range, 20% in a narrow range around the current price. According to Arrakis documentation, the vault rebalances automatically, maintaining liquidity in the optimal range Arrakis Docs. Average vault APR ranges from 15–25%, and gas costs are reduced by 40% compared to manual management.
Arrakis v2 Architecture: Vault, Manager, Resolver
Arrakis v2 is built on three components:
-
ArrakisV2 vault—an ERC-20 token representing a share in the position. Each vault is tied to a specific token pair. Vault can hold multiple Uniswap v3 positions simultaneously (multi-range). -
Manager—address or contract authorized to callrebalance. -
ArrakisV2Resolver—auxiliary contract for calculations: how many tokens are needed for a given share amount, optimal range for current volatility.
Key methods for integration:
-
mint(uint256 mintAmount, address receiver)—deposit liquidity. Requires approve of both pair tokens to the vault address. The token amounts for a givenmintAmountare calculated viagetMintAmountsin Resolver. -
burn(uint256 burnAmount, address receiver)—withdraw liquidity. Burns shares, returns proportional amounts of both tokens. -
rebalance(...)—only callable by manager. Accepts new ranges and weight distributions among them.
A common mistake: approving only one token. getMintAmounts(uint256 amount0Max, uint256 amount1Max) returns (amount0, amount1, mintAmount)—the exact amounts of each token to be used. Integrators sometimes approve only one token or approve incorrect amounts, causing a revert on mint. Both tokens must be approved for amount0 and amount1 respectively, not amount0Max. Another nuance: the vault may contain idle tokens (not placed in Uniswap positions). The getMintAmounts calculation accounts for this—proportions can be nonlinear.
Why Integrating Arrakis Benefits Your Protocol
Protocol with treasury liquidity. A DAO or protocol places treasury tokens in an Arrakis vault instead of direct Uniswap v3. Automatic rebalancing keeps liquidity in the active range without manual management. This reduces operational costs and diminishes impermanent loss impact. Gas savings can reach 60% (up to $4000 per year for active positions).
User LP through a simplified interface. Your frontend shows a single “Add Liquidity” button—under the hood, it deposits into the Arrakis vault. Users don't select ticks or think about rebalancing. Fee collection is 3x more efficient than passively holding a position in a suboptimal range. For a Token/USDC pair, monthly fees increase by 25%.
Protocol’s own token pairs. If you have a token, an Arrakis contract for the Token/USDC pair ensures stable liquidity even during volatility.
Comparison: Manual LP vs. Arrakis Vault
| Criterion | Manual LP on Uniswap v3 | Arrakis vault |
|---|---|---|
| Range management | Manual, requires constant monitoring | Automatic rebalancing |
| Risk of price exiting range | High | Low (rebalancing) |
| Fees | Depends on LP activity | Auto-collection and compounding |
| Gas for rebalancing | Each operation separate | Paid by vault (distributed among LP) |
| User complexity | High | Low (single deposit) |
Comparison: Single-Range vs. Multi-Range Strategy
| Parameter | Single range | Multi-range |
|---|---|---|
| Liquidity concentration | High | Distributed |
| Sensitivity to volatility | High | Low |
| Fee collection | Maximal in narrow range | Stable, but lower |
| Impermanent loss risk | Higher | Lower |
| When to choose | Low volatility, price confidence | High volatility, long-term holding |
Integration Details via SDK
Integration via SDK: Step-by-Step
- Get the required token amounts. Call
resolver.read.getMintAmountswith vault and max amounts. - Approve both tokens. Send approve transactions for
amount0andamount1. - Mint shares. Call
vault.write.mintwith the obtainedmintAmountand receiver address. - Withdraw liquidity. Call
vault.write.burnwith the number of shares.
Example flow with viem:
// 1. Get required token amounts const { amount0, amount1, mintAmount } = await resolver.read.getMintAmounts([ vaultAddress, amount0Max, amount1Max ]) // 2. Approve both tokens await token0.write.approve([vaultAddress, amount0]) await token1.write.approve([vaultAddress, amount1]) // 3. Mint shares await vault.write.mint([mintAmount, userAddress]) What’s Included in the Integration (Deliverables)
- Analysis of existing vault or creation of a new one
- Development and deployment of smart contracts (adapters, strategies)
- Frontend integration via SDK or direct contract calls
- Configuration of rebalancing manager (Gelato, multisig)
- Testing on testnet
- Documentation and codebase for your team
- Post-deployment support (1 month)
Process of Work
- Vault analysis (1 day). Study the specific Arrakis vault: manager strategy, historical rebalancing, current ranges, APR from fees.
- Contract integration (1-2 days). If on-chain integration is needed (e.g., your contract deposits into Arrakis), we write an adapter.
- Frontend and UX (1-2 days). Deposit/withdraw form, display of current position, accumulated fees.
Timelines and Cost
Basic vault integration into a frontend takes 2–4 days; cost is determined after analysis. Development of a custom vault with its own rebalancing strategy takes 1–2 weeks; budget depends on complexity. For active trading pairs, automatic rebalancing pays for itself within 2–3 months: gas savings reach 60%, and fee collection grows by 25–40% compared to manual LP. Contact us for a free preliminary assessment and consultation on your project. Order a turnkey Arrakis integration to implement passive LP for your users.







