SYNCING

How it works

Arclight turns one deposit into a ladder of concentrated-liquidity positions on Uniswap V3 or V4, minted in a single transaction to your own wallet. The protocol is one contract call between you and Uniswap. Nothing sits in the middle afterwards.

01
PLAN
range, shape, bins
02
SIMULATE
eth_call
03
APPROVE
ERC-20, exact gross
04
BUILD
one transaction
05
NFTs
straight to Uniswap
YOUR WALLET

Signs one approval and one build. Receives every position NFT. Holds nothing in between.

ARCLIGHT BUILDER

Two stateless contracts, one for Uniswap V3 and one for V4. A builder is called once per build, mints the rungs to you, and must end the call holding exactly what it started with. It has no upgrade path: the owner can set the fee (0 to 100 bps) and the treasury address, nothing else.

UNISWAP

The pool holds the liquidity. The Uniswap position manager owns the accounting and issues the NFTs. Arclight adds no pool, no token wrapper and no middle contract on this path.

ARCLIGHT APP

Reads the chain through an indexer and plans the rungs in your browser. It never signs and never holds a key. Collect and close go straight from your wallet to Uniswap; the builder is not involved after the mint.

A build, step by step

  1. 01
    You plan in the browser

    Pick a pool, a price range, a shape and a bin count. The app aligns the range to the pool's tick spacing, cuts it into rungs and splits your deposit across them by the shape's weights. A rung too small to fund is dropped and its share returned to you before anything is signed. It also fixes a price guard: the tick band spot must still be inside when the build lands.

  2. 02
    The app simulates the build

    Every write runs through eth_call first. A plan that would revert never reaches your wallet; the revert reason is decoded and shown instead.

  3. 03
    You approve the builder

    A plain ERC-20 approval for the exact gross amount of each token you deposit. You never approve Permit2 or the position manager yourself. The builder's own Permit2 grant to the V4 position manager is created and revoked inside the build call.

  4. 04
    The builder checks everything

    Deadline not passed, else Expired(). The pool is a real factory pool (V3) or an initialised pool (V4), else NotFactoryPool() or PoolNotInitialized(). Rungs are ascending, non-overlapping and aligned, else BadRungOrder() or RungMisaligned(). Spot is inside your guard band, else PriceMoved(). Any failure reverts the whole transaction: nothing minted, nothing charged.

  5. 05
    Fee, then mint, then refund

    The builder pulls the gross amount, sends the mint fee to the treasury, and mints one Uniswap NFT per rung with you as the owner. The fee is floored per rung, so the sums balance to the wei. Whatever the pool could not take is refunded in the same call.

  6. 06
    The builder proves it holds nothing

    Before returning it asserts its own balance of both tokens equals the balance it started with, or reverts with CustodyLeak(). There is no state to carry over: the next build starts from zero.

After the build

Each rung is an ordinary Uniswap position NFT in your wallet. It earns the pool's swap fees while spot is inside its range and converts between the token and USDC as spot walks through it. The Positions page groups the rungs of one build into a ladder card with summed value, fees and PnL.

  • Collect sweeps the fees owed on every rung of a ladder in one transaction. Liquidity stays where it is.
  • Close withdraws all liquidity, sweeps the fees and burns the NFTs of a ladder in one transaction. A rung that already converted is still swept and burned with the rest, so nothing is stranded. The CLOSED tab then shows what the ladder realised.
  • Both go directly from your wallet to the Uniswap position manager. The builder is not called, and no Arclight fee applies.

What the builder never does

  • Hold your tokens or your NFTs beyond the build transaction.
  • Keep an approval. Its Permit2 grant is revoked before the call returns.
  • Touch native USDC. There is no receive, no fallback and no payable function.
  • Charge on collect or close. One fee, at mint, and the contract cannot raise it above 100 bps.
  • Accept a fee-on-transfer or rebasing token. A transfer that credits anything but the exact amount reverts.
  • Run a keeper, rebalance or move a position for you. Every later action is your own signature to Uniswap.

Addresses and verified source: Contracts & addresses. Guarantees in detail: Security model.