Version v0.1 / sheep / SHEEP / 2,100,000,000 supply
sheep protocol whitepaper
Thesis
sheep is a fixed-supply Uniswap v4 hook meme protocol. The core loop is simple: trade the canonical SHEEP/ETH pool, use a reserve-backed launch curve for the first 20%, build a last-minter jackpot, and mine the 80% reward pool through real v4 liquidity.
Supply
| Bucket | Amount | Share |
|---|---|---|
| Launch curve | 420,000,000 SHEEP | 20% |
| LP mining | 1,680,000,000 SHEEP | 80% |
| Dev allocation | 0 SHEEP | 0% |
The full supply is minted once at deployment. There is no owner mint, no pause, no blacklist, and no upgrade path.
Launch Curve
- The launch curve sells the first 420,000,000 SHEEP on a continuous curve.
- Mints lift the marginal price and excess ETH is refunded.
- Sells can burn SHEEP back into the curve reserve before reserve support is routed.
- Sell-backs reduce outstanding curve position but do not lower cumulative mint price or reopen the 420,000,000 SHEEP cap.
- Curve sell-back refunds 80% of the curve sell quote, making buy/sell burn loops costly.
- The launch bucket is tuned to need about 80 ETH of gross curve mint input to fill the cap.
- After sellout, reserve ETH routes into burn support instead of sitting idle.
- If liquidity is not executable at sellout, anyone can retry
routeLaunchReserve().
Mint/Sell Flow
| Flow | Rate | Destination |
|---|---|---|
| Mint | 0.3% of ETH input | Jackpot |
| Sell | 0.3% of ETH output | Jackpot |
| Mint | 0.2% of SHEEP output | Automatic burn |
| Sell | 0.2% of SHEEP input | Automatic burn |
Only mints with at least 0.015 ETH of input update the last minter. Smaller mints and all sells still execute normally. Launch-curve mints and v4 pool mints both compete for the same last-minter slot; whichever effective mint happens later wins. Reserve burn support does not update the last minter.
Last-Minter Jackpot
- A mint of at least 0.015 ETH updates the last-minter record.
- The mint can come from the launch curve or from the canonical v4 pool.
- The draw deadline becomes
block.number + 300. - A new effective mint moves the deadline forward.
- There is no fixed hourly payout. The round becomes drawable only after 300 blocks pass without a new effective mint.
- Once the deadline passes, anyone can call
draw(). - Sells add ETH to the jackpot but do not update the last-minter record.
LP Mining
The mining pool contains 1,680,000,000 SHEEP. Rewards are released by cumulative block accounting and halve every 14,400 blocks. After era 60, the remaining dust continues at 1 wei per block until the fixed reward pool is exhausted.
Users do not need to move LP positions into a separate staking contract. The hook tracks real v4 liquidity changes.
The SHEEP Liquidity Manager passes the caller explicitly and generates a deterministic salt. Generic EOA-initiated v4 LP adds can also be credited because the hook falls back to the transaction origin when no beneficiary is passed. Smart-wallet or relayed paths should use the manager or pass a beneficiary in hook data, because the hook cannot infer an off-chain intended owner from an arbitrary contract call.
Automatic Burn
Mints burn 0.2% of SHEEP output and sells burn 0.2% of SHEEP input inside the hook path. No keeper, bounty, cron, manual fee button, or nested swap is required.
Price Drift
The launch curve and the v4 pool are separate venues, so their prices can diverge. Curve mint price follows cumulative
mints and does not become cheaper after sell-backs. V4 swaps depend on LP liquidity and should use minimum output fields for slippage protection.
Reserve support uses a price limit and leaves ETH retryable in SheepLauncher if the pool route is not executable.
Ownerless Boundary
- Fixed 2.1B supply.
- 0 dev allocation.
- 0.5% hard-coded hook flow.
- 0.015 ETH minimum effective jackpot mint.
- 300 block jackpot timer.
- 14,400 block mining halving.
- Public jackpot draw.
- Website: sheeplol.xyz.
- X post: reference post.
Explorer Fallback
The website is only a client. If the website disappears, the same protocol can be used from a block explorer through verified contract pages. Connect a wallet, open the target contract, use Write Contract, and pass values in wei-sized token units where required.
| Function | Use |
|---|---|
SheepLauncher.buyGenesis(address) | Mint from the launch curve; send ETH value and pass your wallet. |
SheepLauncher.sellGenesis(uint256,uint256) | Sell back to the curve before reserve support with an 80% refund; approve SHEEP first. |
SheepLauncher.routeLaunchReserve() | Retry reserve support after the cumulative curve mint cap is filled; caller pays gas. |
SheepSwapRouter.buy(uint256) | Mint through the v4 pool; send ETH and set a minimum SHEEP output. |
SheepSwapRouter.sell(uint256,uint256) | Sell through the v4 pool; approve SHEEP first and set minimum ETH output. |
SheepLiquidityManager.addLiquidity(...) | Add v4 LP with mining credit; approve SHEEP and send required ETH. |
SheepMining.claim() | Claim LP mining rewards. |
SheepJackpot.draw() | Pay the jackpot to the last minter after the deadline block. |
- Mint curve SHEEP: call
SheepLauncher.buyGenesis(address), pass your wallet address, and send ETH value with the transaction. - Sell back to the curve before reserve routing: approve SHEEP to
SheepLauncher, then callsellGenesis(uint256,uint256). - Mint through the v4 pool: call the router ETH-to-SHEEP exact-input function with ETH value and a minimum SHEEP output.
- Sell through the v4 pool: approve SHEEP to
SheepSwapRouter, then callsell(uint256,uint256). - Draw the jackpot: after
deadlineBlockpasses, anyone can callSheepJackpot.draw(). - Claim mining rewards: call
SheepMining.claim(). - Add LP with mining credit: call
SheepLiquidityManager.addLiquidity(int24,int24,uint128,uint96,bytes). The manager passes your wallet to the hook. - Remove LP: call
SheepLiquidityManager.removeLiquidity(int24,int24,uint128,uint96,bytes)with the same range and nonce.
Risk
sheep is a meme game, not a promise of price appreciation. Early emissions are intentionally aggressive. Fixed supply and no owner controls reduce admin risk; they do not remove market risk, contract risk, or liquidity risk.