Docs

How Vanemere works

Lock $VANE, vote for any native-ETH Uniswap v4 pool on Robinhood Chain, and next week's pot streams into the winning pool through Uniswap's own donate(). No emissions. Nobody can move the pot.

What it is

Vanemere is one immutable contract with no owner. $VANE is launched on Pons (Robinhood Chain, chain id 4663) with a 2% creator tax. The contract is the creator-fee recipient, so it receives those fees directly. It splits them 5% into a pot, 5% into a buy and burn of $VANE, and 90% to the creator wallet. Holders lock $VANE and vote for a candidate pool; the pot then streams into the winning pool through Uniswap v4's own donate(), which pays the liquidity providers who are in range at that moment.

The honest scale matters: the pot is 5% of what Pons pays the creator (the 2% tax plus 70% of Pons's 1% trading fee, about 2.7% of volume), so it is small. The product is the mechanism you can check: a vote, a donate() transaction, in-range liquidity providers who receive it.

How an epoch works

An epoch is 7 days. Epoch 0 runs from deploy to launch. Epoch 1 starts at 23 Oct 2026 13:00 UTC (T0 = 1792760400). This week's votes decide where next week's pot streams: votes cast in epoch N are settled when it ends, and the winner's stream runs through epoch N+1.

Epoch 0Deploy (Wed 21 Oct 07:08 UTC) → Fri 23 Oct 13:00 UTC. Pool chosen by the team, before $VANE existed. The seed (seedPot()) streams into it, so a real donate() lands before launch.
Epoch 1Fri 23 Oct 13:00 → Fri 30 Oct 13:00 UTC. $VANE is live. Holders lock and vote. Creator fees keep filling the pot.
Epoch 2Fri 30 Oct 13:00 → Fri 6 Nov 13:00 UTC. settle() counts epoch 1's votes; the winning pool gets the pot as a 7-day stream. This is the first vote-driven payout. Epoch 2's votes decide epoch 3.
  • Lock lock(amount): your $VANE moves into the contract. Locking while you have voted adds the weight to your voted pool.
  • Vote vote(poolIndex): one pool per wallet, your whole locked balance counts, the last write wins. Voting opens when epoch 1 starts.
  • Unlock unlock(amount): blocked while you have voted in the current epoch, open the epoch after. The same tokens can never vote twice in one epoch.
  • Settle settle(): after an epoch ends, the pool with the most votes wins (ties go to the pool added first). No votes: the pot carries over.
  • Stream drip(): the winner's budget accrues linearly over 7 days and is donated whenever at least 0.0001 ETH is due, and once more at the end.

If a donate fails (for example the pool has no liquidity in range), the drip emits DripFailed instead of reverting, nothing is lost, and the un-dripped remainder rolls into the next epoch's pot. /proof shows these as warning rows.

Exact split 5/5/90, and why the pot is small

Every wei that reaches the contract as a creator fee is split once by harvest(): 500 bps to the pot, 500 bps to the burn ledger, the remaining 9,000 bps to the creator wallet. The split is fixed at deploy.

Worked exampleETH
Trading volume on the Pons pair20
Creator fees from Pons (2% tax + 0.7% fee share ≈ 2.7%)0.54
Pot (5%)0.027 (about $66 at ETH $2,449)
Buy and burn (5%)0.027
Creator wallet (90%)0.486

So at 20 ETH of volume the pot is about 0.027 ETH per week. We say so because you can check it. Plain ETH transfers to the contract count as creator fees (they are split 5/5/90 too). To add to the pot directly, call seedPot().

JIT liquidity and who may drip

A donate can be farmed by a liquidity bot that adds a large position, triggers the donate and removes the position in the same transaction. Our pre-deploy review proved it on a mainnet fork: a bot that could call drip() itself took about 80% of a drip. So Vanemere does two things. The winner's budget accrues linearly over 7 days and is paid in small drips, and drip() can only be called by our bot wallet, at times outsiders do not control. If our bot is silent for 6 hours, anyone can call drip(), so the stream can never get stuck. The bot can only time the drip; it cannot move funds or change the winner. This narrows JIT capture; it does not make it impossible, and the pot is small by design. donate() only reaches positions in range at that moment; on hook-managed pools the donation credits the hook's position and the hook's own accounting passes it on.

Who calls what

harvest(), settle() and burn(minOut) are public: our bot calls them on a schedule, and you can call them yourself from /vote (the "Run it yourself" box) or any explorer. drip() is reserved for our bot wallet (an address fixed at deploy) unless the last drip is more than 6 hours old; then anyone can call it. Nothing can get stuck. The deployer can call bind(token) once to attach $VANE after launch. There is no owner and no upgrade, and neither the bot nor the deployer can move funds.

FunctionWhoEffect
harvest()anyonePulls Pons fees in, splits them 5/5/90.
settle()anyoneAfter an epoch ends: picks the winner, starts its 7-day stream.
drip()our bot (anyone after 6 h of silence)Donates what has accrued into the winning pool.
burn(minOut)anyoneBuys and burns $VANE with the burn ledger.
withdrawCreator()anyonePays the 90% to the immutable creator address (only there).
seedPot()anyoneAdds ETH straight to the pot (to the running stream during epoch 0).
lock / unlock / vote / addPoolholdersSee above and the candidate rules.
bind(token)deployer, onceAttaches $VANE after launch. Checked against Pons: the token must pay its creator fee to this contract.

Burn

The burn ledger (5% of creator fees) is spent by burn(minOut): at most 0.005 ETH per call and one call per hour. While the token is still on the Pons bonding curve it buys from the curve and the tokens land in the dead address; after graduation it swaps on the Pons Uniswap v4 pool and sends the tokens to the dead address. The caller supplies minOut, the smallest amount of $VANE accepted, so a bad price reverts. If the curve clamps a buy near graduation, only the ETH actually spent leaves the ledger. While the token is between phases (swept or rescued) the burn waits and the ETH stays ledgered. If the token never graduates, burning still works on the curve.

Until the first harvest and burn have happened, the burned total reads 0.

Candidate rules

  • Native ETH only: a candidate's currency0 must be native ETH (address 0x0). USDG-side pools are planned for v1.1, not built.
  • 1,000,000 $VANE locked by the caller and a 0.02 ETH fee that goes straight into the pot, to add a pool: anti-spam without an admin. Candidates are capped at 64.
  • The pool must already be initialized on Uniswap v4. No duplicates.
  • 64 candidates at most, and a candidate is never removed. Immutability over tidiness.
  • Ties at settle go to the lowest pool index (added first).

Add one on /pools.

Trust assumptions

  • Pons: the Pons owner can re-point a token's creator-fee recipient after a 3-day public timelock. If it were moved, fees would stop reaching the contract.
  • Uniswap v4: the PoolManager owner can set protocol fees. The hook on a candidate pool is code you should read before voting for it.
  • Unaudited contract. It is small and public, has no owner and no proxy, and is verified on Sourcify, but nobody independent has audited it.
  • The deployer can only call bind(token) once. The creator wallet is immutable and receives only its 90%.
  • USD labels use Chainlink ETH/USD on the server. The contract does not read it.

Addresses

Robinhood Chain mainnet, chain id 4663. Read from contracts.json and token.json.

WhatAddressLinks

ABI

Function and event signatures of the Vanemere contract.


        

Planned, not built

Nothing in this block is live, and nothing on the site depends on it.

  • v1.1: USDG-side pools (for example stock / USDG pools), which need an ETH to USDG conversion inside the drip and a price bound.
  • S2: our own Uniswap v4 pools whose fee is set on-chain by the NYSE clock and a Chainlink deviation check, with no keeper.

Disclaimer

Unaudited. Not financial advice. The pot is whatever Pons creator fees actually filled, and may be zero. Estimates on the site are estimates. $VANE is a token with no promise of value. Not affiliated with Robinhood Markets, Inc., Pons or Uniswap Labs. Official contract address: only on this site and on @vanemerexyz.