A holding game
for people who flip
stay.
DualCurve is an on-chain coordination project. Every trade pays into two reward pools that distribute back to the holders who hold the most, for the longest. Two timescales of incentive, one ERC-20, no promises beyond the math.
Token · Hook · Router renounced · Distributors retain inactivity-gated safety valve
Supply
1BDCRV
Tax / buy · sell
5% / 5%
Small curve
5 ETH
Large curve
500 ETH
In most memecoins,
only the people who sell first win.
Early buyers extract value from later buyers. The only thing the mechanics reward is being fast on the exit. If you hold, you get nothing for it — you just become the bag for the next round of sellers.
DCRV flips that. Every swap pays a 5% tax in ETH, and that ETH gets routed straight back to the people still holding the token. Sellers fund the holders. The longer you stay, the larger your stake, the more rounds you collect from.
On-chain math, open source, no team in the middle.
Every swap feeds two engines.
A 5% tax on every buy and sell routes through a fee router contract. The router splits incoming ETH between two reward pools that run on completely different timescales:
On swap
5% tax
buy or sell
Fee router
splits ETH
75 / 25
Small curve
5 ETH
→ top 100 · push
Large curve
500 ETH
→ top 20 · claim
Tax is collected only on the official Uniswap V4 pool · direct wallet transfers are tax-free
Once deployed, the token, hook, and fee router are fully renounced — the tax rate, the split, and the math are immutable forever. The two distributors retain a single permissioned function: an inactivity-gated safety valve that prevents ETH from being permanently stranded if the protocol stops receiving deposits for 7 consecutive days. The safety valve cannot be triggered during normal operation — any swap on the official pool resets the timer. Read the technical paper for the full architecture.
Where the redistribution happens.
Two engines, two timescales. SmallCurve fires fast and pays the top 100 every 5 ETH. LargeCurve fires rarely and pays the top 20 every 500 ETH. Both run live, on-chain, every block.
Your position
Connect your wallet to see your DCRV balance, your rank, and your eligibility for both curves.
SmallCurve
push · top-100≫ 68.4% of current cycle filled
your reclaimable
push failed → pull here
connect wallet to see your balance
LargeCurve
merkle · top-20≫ 62.5% of cycle filled · 187.6 ETH to go
your claims
2 rounds
connect wallet to view claims
Every swap feeds these curves.
More volume → more frequent distributions to holders. That’s the loop.
token
DCRV
DualCurve
supply
1,000,000,000
dcrv (fixed)
fee per swap
5.00%
buy + sell · v4 hook
split
75.00% / 25.00%
small / large
distributed
487.123 ETH
lifetime
small pool
3.42 ETH
68.4% of 5 ETH
large pool
794.7 ETH
62.5% of 500 ETH
receivers
100 / 20
small / large
top holders
| # | address | balance | %supply | small (top 12) | large (top 20) |
|---|---|---|---|---|---|
| 01 | 0x1f7a…6a7b | 84,300,000 | 8.43% | ● | ● |
| 02 | 0x2b9e…0c1d | 61,200,000 | 6.12% | ● | ● |
| 03 | 0x3c8d…0c2e | 47,800,000 | 4.78% | ● | ● |
| 04 | 0x4d7e…1d3f | 39,100,000 | 3.91% | ● | ● |
| 05 | 0x5e6f…3e4a | 32,400,000 | 3.24% | ● | ● |
| 06 | 0x6f5e…8372 | 28,900,000 | 2.89% | ● | ● |
| 07 | 0x7a4b…1a2b | 24,100,000 | 2.41% | ● | ● |
| 08 | 0x8b3c…0b1c | 19,700,000 | 1.97% | ● | ● |
| 09 | 0x9c2d…9c0d | 15,200,000 | 1.52% | ● | ● |
| 10 | 0xa1b2…a9b0 | 11,800,000 | 1.18% | ● | ● |
| 11 | 0xb1c2…b9c0 | 9,200,000 | 0.92% | ○ | ○ |
| 12 | 0xc1d2…c9d0 | 7,800,000 | 0.78% | ○ | ○ |
distribution rounds
R#1
expiredR#0
sweptThree steps. No surprises.
- 01
buy & hold DCRV on Base
every swap on the official DCRV/ETH pool pays a 5% hook fee in ETH. there is no tax on regular transfers — only swaps through the official pool. fully composable with the rest of DeFi.
- 02
wait for thresholds to fill
75% of every fee feeds SmallCurve; each time it crosses 5 ETH, the protocol pushes ETH pro-rata to the top 100 holders. 25% feeds LargeCurve; each time it crosses 500 ETH, the top 20 holders get a merkle round to claim for 30 days.
- 03
receive ETH directly
SmallCurve pushes ETH to your wallet automatically via a low-gas call; failed pushes are saved as a pull-claim. LargeCurve gives you a merkle proof to claim manually. distributions stop the moment you fall out of the top — accumulating supply early is what compounds the return.
What you actually get for holding.
The bigger your share of the top, the bigger your slice of every distribution. Two concrete examples, using DCRV’s real parameters.
small curve · top 100
assumption · you own 2,000,000 DCRV (0.2% of supply). that lands you somewhere mid-table inside the top 100, which collectively holds ~620M DCRV.
you receive · every time SmallCurve fills 5 ETH, you get roughly 0.0161 ETH. at ~3–4 rounds/day at $250k volume, that’s around 0.05–0.07 ETH per day dripping into your wallet — automatically.
large curve · top 20
assumption · you own 50,000,000 DCRV (5% of supply). that puts you inside the top 20, which collectively holds ~400M DCRV (40% of supply).
you receive · when LargeCurve fires its 500 ETH round, your share is roughly 62.5 ETH, claimable in a single transaction within a 30-day window. one event can be worth months of SmallCurve drips.
// numbers depend on real protocol volume and how supply ends up distributed — DCRV pays only what flows through it. shares are proportional to balance inside the top: holding twice as much earns twice as much. the formula and full economic analysis live in the whitepaper.
The obvious attacks are already priced in.
A naive design would be trivially exploitable: split your bag across 100 wallets, monopolise the top, drain the pool. A reward tied to the snapshot block invites flash-loan front-running. We’ve considered the obvious vectors and built defenses for each — not as marketing copy, as cost-imposed friction that makes the attacks unprofitable.
anti-sybil · min holding
min 0.1% supply
to enter the ranking at all, a wallet must hold ≥1,000,000 DCRV (0.1% of 1B). fragmenting a bag into 100 wallets that each fall below this threshold disqualifies all of them.
anti-sybil · time gate
1-hour hold time
tokens must sit in a wallet for ~1,800 blocks on Base (≈1 hour) before that wallet is considered eligible. buy-at-trigger / sell-at-claim loops don't qualify.
anti-mev · retroactive snapshot
snapshot at block + lookback
when a threshold is crossed, a snapshot is requested but only executable 10 blocks later (SmallCurve) or 100 blocks later (LargeCurve). by the time you see the trigger on-chain, the ranking is already decided.
anti-mev · heap rebuild cost
fragmentation has a gas tax
every new wallet entering the top-100 forces an on-chain heap rebuild. splitting a position into many wallets becomes economically expensive long before it becomes profitable.
accounting · pull pattern
pull-based large curve
the large curve doesn't push 500 ETH to 20 wallets at once. it publishes a merkle root and lets winners claim. reentrancy attacks, gas griefing, DoS via malicious contracts — all eliminated.
accounting · credit fallback
no reward is lost
if a push transfer fails (recipient is a contract that reverts, ran out of gas, etc.), the reward is recorded in reclaimable[user] and can be pulled later. liveness preserved without sacrificing the auto-distribution UX.
liveness · safety valve
ETH never permanently locked
if the protocol becomes inactive for 7 consecutive days (zero deposits from the official pool), an inactivity-gated rescue function lets accumulated ETH be recovered. the mechanism cannot be triggered during normal operation — any swap resets the timer.
The loop that pays itself.
Most token mechanics are zero-sum games dressed up as financial products. DCRV is a positive feedback loop between trading activity and holder retention — five mechanics, one direction.
- → 01
sell pressure becomes the protocol's fuel
every sell taxes 5%. most of that goes back to the people who didn’t sell. sellers aren’t just losing position — they’re funding the people who kept theirs. the exit door has a turnstile that pays the people staying in the room.
- → 02
holding becomes competitive, not passive
holding isn’t just “don’t sell”. it’s about ranking. are you in the top 100? are you climbing toward the top 20? every other holder’s behavior affects your position. the leaderboard creates a game where the optimal move is to accumulate, not flip.
- → 03
volume compounds rewards which incentivizes holding
more volume → more tax → bigger pool → bigger payouts → stronger reason to hold → fewer sells → higher floor → more confident buying → more volume. the loop isn’t infinite, but it’s self-reinforcing in normal conditions.
- → 04
the large curve is asymmetric upside, baked in
every ETH that lands in the large pool is a deferred claim. you don’t know when it triggers. you don’t know exactly how big it gets. but if you’re in the top 20 when it does, the payout can dwarf months of small-curve drips. that asymmetry is rare in token mechanics — usually the home run lives outside the protocol. here it lives inside it.
- → 05
no team unlocks, no extractive design
there is no team allocation that vests later and dumps. there is no VC cap table with a 6-month cliff. the only outflows from the protocol are rewards back to holders. everything that enters, returns.
system
protocol parameters
- networkBase
- hook fee5.00% per leg (buy + sell)
- smallcurve threshold5 ETH
- smallcurve receiverstop 100
- smallcurve lookback10 blocks (~20s)
- largecurve threshold500 ETH
- largecurve receiverstop 20
- largecurve lookback100 blocks (~200s)
- claim window30 days
- ranking size100 holders
- min hold time1,800 blocks (~1 h)
- min balance to rank0.1% of supply
- fee split (default)75% small / 25% large
- renouncedownership renounced after init
deployed addresses
- token— not configured —
- holder ranking— not configured —
- snapshot · small— not configured —
- snapshot · large— not configured —
- smallcurve distributor— not configured —
- largecurve accumulator— not configured —
- fee router— not configured —
- v4 hook— not configured —
buy DCRV
amount in
wallet balance: —
receipt · estimated
on sell, an equivalent 5% is taken from your ETH output and routed the same way. you receive 0.095000 ETH-equivalent of DCRV after fee.