uniFARM is a fully on-chain farming game on Ethereum. Claim a living plot - its on-chain SVG evolves block by block as your crops grow. Tip neighbors who water yours. Every $FARM swap on Uniswap v4 waters the whole valley.
uniFARM is fully on-chain. Every plant, every water, every harvest is a transaction. The browser is just the interface - the game state lives in the contract, the art is generated on every read, and the rules can never quietly change.
Your first plot is free. Each plot is an ERC-721 NFT with four traits - soil, sun, water access, pest resistance - rolled at mint. The traits are sealed forever and affect every yield you ever harvest. Plant a starter seed and the timer starts.
Crops grow in real time - radishes in 8 minutes, fig trees over a working day. The on-chain SVG of your plot evolves block by block. Weather is posted by an oracle every 6 hours and changes both your yields and the surcharge on every $FARM swap.
When the plot turns amber, click harvest. $FARM lands in your wallet - base × weather × four trait multipliers × (1 + 0.04 × waters from neighbors). 10% chance to drop a fresh seed of the same crop into your inventory so you can replant without buying.
uniFARM is built on a Uniswap v4 hook (flag 0x0044 - AFTER_SWAP + AFTER_SWAP_RETURNS_DELTA). Every $FARM ↔ ETH swap pays a small surcharge that flows into the farm contract. The surcharge rate is dynamic - it's set by the in-game weather.
Bright market. Crops grow well, swaps are friendly. The valley is busy.
Default state. Watering is doubled in effect. Steady, productive weather.
Yields jitter. Some crops thrive, some falter. Markets get volatile.
Hidden buyers, slow growth. Maximum surcharge - rarer and the deepest rate possible. Hard-capped in the contract.
// surcharge is capped at 5% in the contract. owner cannot ratchet higher. ever.
// 95% of every surcharge accrues to the harvest pool. 5% is burned at the moment of collection.
Every number on this page is read directly from the contract. No backend, no cache, no off-chain leaderboard.
The plot's tokenURI() redraws on every block. Same NFT. Different image. The art is the gameplay.
checked the back row at sunup. wheat is gold.
From radish to old fig. Common crops grow in 8 minutes. Heirlooms take a working day. The almanac has the full list with yield ranges.
| Allocation | Supply | % |
|---|---|---|
| LP at launch (Uniswap v4) | 85,000,000 | 85% |
| Harvest reward pool | 10,000,000 | 10% |
| Marketing | 5,000,000 | 5% |
| Total | 100,000,000 | 100% |
No max-buy. No max-wallet. The game absorbs activity naturally because plots are scarce and seed costs scale with rarity. No fee anywhere in the contract exceeds 5%, and that ceiling is hard-coded.
The 10M harvest pool sits in the farm contract from deploy and pays out as crops are harvested. Once it drains, harvest yields are paid from accumulated swap surcharge instead. Total supply is forever capped at 100M.
Each season is a quarter. The valley grows by one new mechanic per season, no more. We'd rather ship one good thing than four half-things.
Contracts shipped to mainnet, salt-mined to the v4 hook flag. Plot NFTs, dynamic SVG renderer, weather oracle, surcharge flow. First plot free per wallet.
32 crops live. Weather oracle posts every 6 hours. Neighbors can water plots. The plot art evolves block by block. Pool seeded with 10M $FARM.
Lottery for heirloom seeds among active farmers. "Bumper crop" event when surcharge accumulator crosses thresholds. New crop variants tied to weekend weather streaks.
In-app marketplace for plot NFTs with trait filters. Auction format for the rarest trait combos. Fence-line "barter" feature for direct plot-for-plot swaps.
Annual season-end snapshot. Top harvester of the year gets a 1-of-1 generative "Heirloom Field" NFT, hand-rendered from their plot history. Storytelling layer on top of the journal.
Yields keep flowing. Once the seeded 10M is harvested out, the contract pays from accumulated swap surcharge instead. As long as people trade $FARM, the pool refills. If trading goes quiet, yields shrink to match. The game scales with activity, honestly.
Because we trust the design. Plots are scarce (10K cap), seed prices scale with rarity, and the harvest math caps your per-cycle take. A whale can buy a lot of $FARM at launch but they still need plots, time, and weather to convert it into anything more. The game absorbs them into the rhythm.
An oracle (initially the project, later automated) calls post_weather() on the contract every six hours. The state is one byte - sunny / rainy / windy / foggy. It changes both the in-game crop yield modifier and the swap surcharge bps in the v4 hook. Everything else is deterministic.
Yes. Plots are standard ERC-721 NFTs - tradeable on any marketplace that supports ERC-721. A great-trait plot (Black Earth · Sunny · Spring-fed · Hardy) is meaningfully more productive than an average one, so secondary trading forms naturally.
State, art, and rules all live in the contract. The browser is just a thin renderer over tokenURI() reads and a transaction submitter for plant / water / harvest. No backend, no off-chain leaderboard, no centralized indexer in the loop. If our website disappears tomorrow, your plots and their evolving art are still there.
Yes - every plant, water, and harvest is a transaction on Ethereum mainnet. The contract is small and the actions are simple, so gas costs are modest, but they're not zero. Hold a little ETH alongside your $FARM if you want to play actively.
Every wallet gets one free plot. After that, plot price scales with the number minted - `0.5 × current_total_minted` $FARM. Plot #2 ≈ 1 $FARM, plot #1000 = 500 $FARM, plot #9999 = 4999.5 $FARM. Early adopters get cheap land. Late comers pay a premium that funds the harvest pool.
Plots are tradeable ERC-721 NFTs. A plot with great traits - black-earth soil, sunny exposure, spring-fed water, hardy pest resistance - can outyield a poor plot by 2.5×. The secondary market forms naturally.
Free plot per wallet. Five starter seeds in your basket. The valley is patient - it will be here when you are.
Open the farm Read the manual