Whitepaper · v0.1

Liquidity that re-centres itself.

Vincera is an autonomous, non-custodial rebalancer for Uniswap v3 and v4 liquidity on Robinhood Chain. When a concentrated position drifts off range, a contract you cannot be locked out of moves it back — collecting fees, re-minting around spot, and charging 3% of the collected fees and nothing else. This paper describes the mechanism, the trust model, and what has been proven on-chain.

3%
of fees — the only fee
v3 & v4
one engine, both
61
tests passing
Live
Robinhood mainnet
01

The problem

Concentrated liquidity earns fees only while price sits inside the range you chose. The moment price leaves it, the position stops earning and becomes a single idle token. On Robinhood Chain this bites harder than anywhere: stock tokens track a feed that moves 24/5, while the exchange floor most people watch is open about 6.5 hours a day. Your range breaks in the hours you are asleep, and stays broken until you happen to open an app.

The fix a professional market-maker uses is to re-centre the range around the new price. Doing that by hand, at 3am, on every position, is not a strategy — it is a night shift. Vincera is that night shift, run by a contract you cannot be locked out of.

02

The rebalance cycle

When a position drifts past a trigger you set, Vincera performs one atomic transaction: it collects the accrued fees, burns the out-of-range position, and re-mints a fresh range around the current price. Either the whole cycle succeeds or it reverts and nothing changed — there is no state in which your liquidity is left half-moved.

The trigger is a threshold in ticks past the range edge, so a position is not churned on every wobble, only when it has genuinely left the band by the margin you allow.

03

Position identity

Neither Uniswap v3 nor v4 can move a range in place: a rebalance must burn one NFT and mint another with a brand-new tokenId. That is not an implementation detail — it is observable on the live chain, where one cycle produced tokenId 191333 and the next 191334.

So a tokenId is a receipt, not an identity. Vincera issues its own positionId, derived from (owner, count), which survives every re-mint, and every setting you chose hangs off that. Config keyed on tokenId would go stale after exactly one cycle, silently: automation would rediscover the new NFT as an unknown position with no threshold and no authorisation, and simply stop — while you slept believing you were covered.

04

Placing the new range

Single-sided (default). A position that has left its range holds one token. Rather than swap back to straddle price — which realises the divergence loss and pays pool fees — Vincera re-mints a range beside spot using only the token you already hold. Nothing is sold; no paper loss is made permanent. The side is not a choice: price up leaves you in token1, so the only fillable range is below spot, and vice-versa. The contract reads the breach and picks the side, so it cannot pick the one that reverts.

Centered. A range that straddles spot needs both tokens, so it must swap. Offered for users who want to keep earning on both sides immediately — never chosen for them.

05

The fee

Vincera takes 3% of the trading fees a rebalance collects, and nothing else. The basis is what the protocol paid out for a fees-only collect — it is measured, never inferred by subtracting a modelled principal from a total (a model that leans on a manipulable price and dumps all its error into the bucket being charged on). A position that earned nothing is charged nothing, by construction.

The rate is a compile-time constant, not an admin setting: a fee that can be raised later is a fee nobody can reason about. In fork tests against the real CASHCAT/WETH pool the effective take measured 2.98%.

06

Non-custody & security

Vincera never holds your funds or your keys. To automate, you authorise a scoped session key in the Authority contract. On-chain, that key can only call rebalance — you whitelist that one selector — the grant is time-boxed (the app sets 30 days) and you revoke it in a single transaction. Any tokens a rebalance touches are swept back to your wallet in the same call; the new NFT is always minted to you, never to the keeper.

The Rebalancer has no owner and no admin function. Nobody, including us, can point it at a different treasury, pause it, upgrade it, or reach a user’s funds. Pools with hooks are refused by default — a hook can move price between the burn and the mint, inside our own transaction, and no gas strategy defends against that.

07

Architecture

  • VinceraAuthority — session-key grants, selector whitelist, expiry and a first-grant cooldown. The single gate for “may this key act for this user on this position?”
  • VinceraRebalancer — the ownerless engine. Holds each position’s durable config, enforces the threshold and slippage bound, drives collect → burn → re-mint, and takes the fee.
  • Adapters (v3, v4) — one interface, two Uniswap versions. The engine speaks IVinceraAdapter; each adapter maps it onto that version’s position manager. The deepest pools are covered whichever version they live in.
  • VinceraTreasury — the only destination the 3% can reach.
  • Keeper — an off-chain monitor that calls needsRebalance and, when true, fires rebalance with the session key. It runs live, 24/7. Off-chain by necessity (someone must watch the clock), powerless by design (it can only trigger what the contract already permits, and only with a key the user granted).
08

What is proven

The contracts are deployed and exercised end-to-end against a fork of Robinhood Chain mainnet, on real Uniswap v3 pools, with two real rebalances:

  • · Owner path — position re-centred, tokenId 202681 → 202683.
  • · Session-key path — rebalanced by the keeper, with no owner signature, 202682 → 202684; the new NFT still minted to the owner.
  • · Fee measured on collected fees only; config carried atomically across the re-mint.

61 unit and fork tests pass across the Authority, RangeMath, adapter and Rebalancer. One engine drives both Uniswap v3 and v4 through a single adapter interface; the contracts are live on Robinhood Chain mainnet, and the keeper runs continuously against them.

09

Risk & status

Vincera is pre-audit software. Providing liquidity carries impermanent loss and smart-contract risk. A rebalance realises the current state of a position and cannot guarantee returns; single-sided re-mints avoid realising a loss but do not erase divergence. A third-party audit is required before it handles significant funds. Use at your own risk.

Deployed — Robinhood Chain mainnet · id 4663

Contracts deployed and verified on Robinhood Chain mainnet, built for Uniswap v3 and v4. The keeper runs live against them. Pre-audit — use at your own risk.