7,777 flies brought into existence by proof of work. No allowlist, no reveal, no metadata server. Your browser finds the hash; the contract draws the fly.
Pre-launch. Contracts are being written. A full public beta runs on Arc testnet (chain 5042002) before mainnet, and every address is published the day it is deployed. Mining opens within 7 days of Arc public mainnet.
A single ERC-721 on Arc. The only way a token comes into existence is a hash below the current target, paid for at the entry price of the current epoch. The hash then becomes the seed the picture is drawn from — wings, eyes, antenna, the thing in the fly's grip — derived by the contract, identically, forever.
Including us. The seed is a function of the work you did. Spare hashrate buys leading zero bits and nothing else — and zero bits are already paid for.
Your address is inside the hash, and so is the previous fly's. Arc has no observable mempool to copy a transaction from either.
Sprites, palette and weight tables live in contract storage. If this website disappears, the collection does not change at all.
keccak256( minerAddress, nonce, prevFlyHash, anchor ) < target
| Input | What it is | Why it is there |
|---|---|---|
| minerAddress | your address | makes the solution untradeable — a copied transaction computes to something else |
| nonce | the only free value | what workers spin, hundreds of thousands of times a second |
| prevFlyHash | the work behind the previous fly | nothing can be mined ahead of time; every mint kills every held solution |
| anchor | a recent block hash, 256-block window (≈128 s) | the backstop for a quiet hour |
seed = keccak256( workHash, timeBucket ) // the clock rounded down to 5 minutes
Inside one bucket the answer does not move, and a solution only lives until the next mint or the end of the anchor window. That is what makes grinding for a rare fly pointless.
| Rule | Value | What it closes |
|---|---|---|
| Epoch floor | 26 bits + epoch | an idle network |
| Retarget | every 8 mints | a drifting pace — at most 4× harder or 2× easier in one step |
| Streak | ×2 per recent mint | a run of mints in a row. Twelve in a row cost 4,096× the work of one |
| Failsafe | 5 min → one epoch | a dead network, by exactly one epoch, never deeper |
| Block ceiling | 1 mint per block | a burst — about two flies a second, hard |
| The wall | (n − 7777)² / 45 | the end of the collection |
The streak does not stop a farm. Nothing here does — the algorithm is public and anyone can write a native miner. What the streak does is price the pace: taking the collection quickly costs far more than taking it slowly.
The entry price equals the number of tokens that existed at the start of the current epoch, times a fixed step of 0.12 USDC. It is flat inside an epoch and changes only at the border, so the price cannot move under you while you are searching. There is no fee on top of it.
| Epoch | Starts at | Size | Entry price | Floor | Lifetime rent | Return |
|---|---|---|---|---|---|---|
| 0 | 0 | 8 | $0.77 | 26 bits | $699.21 | 908× |
| 1 | 8 | 16 | $0.96 | 27 bits | $697.77 | 727× |
| 2 | 24 | 32 | $2.88 | 28 bits | $694.89 | 241× |
| 3 | 56 | 64 | $6.72 | 29 bits | $689.13 | 103× |
| 4 | 120 | 128 | $14.40 | 30 bits | $677.61 | 47.1× |
| 5 | 248 | 256 | $29.76 | 31 bits | $654.57 | 22.0× |
| 6 | 504 | 512 | $60.48 | 32 bits | $608.49 | 10.1× |
| 7 | 1,016 | 1,024 | $121.92 | 33 bits | $516.33 | 4.23× |
| 8 | 2,040 | 2,048 | $244.80 | 34 bits | $332.01 | 1.36× |
| 9 | 4,088 | 3,689 | $490.56 | 35 bits | $0.00 | 1.00× |
Trading opens automatically at token #2040 — the highlighted row. Return is the better of the two exits: lifetime rent, or the burn valued at that epoch's arbitrage ceiling.
Read the last row again. A token minted in epoch 9 — 3,689 tokens, 47% of the collection — earns no rent before the wall, because there is no later epoch to be paid from. That is not an oversight; it is why the burn exists. Burned inside its own epoch, that token returns 1,000 $FLY worth exactly what it cost. If you are mining late you are buying the picture, the Monarch draw and the burn — not the yield. We would rather say that here than let you find it in a spreadsheet.
Burning a fly in its own epoch mints 1,000 $FLY. The rate halves with every epoch the fly waited, sliding continuously in between. Genesis supply is 777,777, placed in the pool at launch.
While 1,000 $FLY are worth more than entry to the current epoch, mining and burning is free money — so the token is pinned to entry ÷ 1,000. That ceiling doubles every epoch, driven by nothing but the cost of making the next fly.
| Epochs waited | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| $FLY returned | 1,000 | 500 | 250 | 125 | 62 | 31 |
One Uniswap v4 pool of native USDC and $FLY with a hook attached. Pool fee 0%; the hook charges 3% in and 3% out — 2% buys $FLY back and burns it, 1% goes to the project. Trading opens automatically at token #2040 with roughly $25,000 of liquidity accumulated by the hook from mints before that point. No outside capital seeds this pool.
Nine slots, 150 traits, every shape drawn by code rather than stored as a path. Thirty-four of those traits cost no sprite bytes at all — they rewrite four palette entries and the renderer draws the same geometry. That is why the eye can be one of fourteen colours for free.




















Every fly above came out of the same generator the contract will run — same seed, same weights, same clash rules.
| Slot | Traits | Zero-byte | Notes |
|---|---|---|---|
| Backdrop | 5 | 5 | palette only |
| Body | 24 | 11 | 14 pigment alleles, 5 bristle forms, 5 house colourways |
| Eyes | 23 | 14 | 14 colour, 9 shape |
| Wings | 18 | 0 | every one a published wing phenotype |
| Antenna | 8 | 0 | includes the homeotic mutants |
| Headwear | 27 | 1 | none = 22.8% |
| Eyewear | 13 | 1 | none = 29.2% |
| Neckwear | 12 | 1 | none = 29.1% |
| Offhand | 20 | 1 | none = 20.7% |
The names are not invented. w, se, bw, cn, v, vg, Cy, ap, y, e, Antp — these are Drosophila melanogaster alleles with a century of published literature behind them. The collection is a fly lab, and it is spelled correctly.
Inside a window the chance grows as 1 / (1,112 − position), so while a window's Monarch has not dropped, its last fly is a guarantee; once it has, the rest of that window is ordinary. The draw runs at the mint and reads the same seed the fly is drawn from — one number decides both the picture and whether it is a Monarch.

Both hands on the wheel, running the night road. The only Monarch that is going somewhere.

A long blade, a turning spit, and a fly that has done this every night for years.

Six faces, one solved state, and 43 quintillion wrong ones. A fly holding a search problem.

1910. One white-eyed male in a bottle of red-eyed flies, and modern genetics starts.

bithorax past the end of the slot: eight blades, etched in amber. Too many wings, one fly.

The gas that kills you without a sound. Nothing on this fly is drawn but its burning edge.

The only gravid fly in the collection. Five eggs, lit from inside, under a violet crown.
drawn by hand, outside the roll,
on reserved token ids
Three implementations of the same keccak round — WebGPU on the graphics card, WebAssembly SIMD on the processor cores, and a JavaScript fallback — all of which must agree before an attempt can become a transaction. The card is never taken without asking.
Measured hashrates will be published from the public beta, on named hardware. No performance figure is claimed here before it has been measured. Mining opens within 7 days of Arc public mainnet going live.
The source of everything holding money is readable by anyone, on chain, from the day it is deployed.
The report is linked here when it exists. Slither, Echidna and differential fuzzing against a reference implementation run in CI.
Difficulty, retarget and streak parameters are tuned against real load, not against a simulation.
The project's ten per cent is paid to two Safe 2-of-3 multisigs — team & investors, and development, 5% each. Both addresses are fixed in the contract at deployment and readable on chain. The royalty receiver cannot be changed. The team is anonymous.
No dates, and no descriptions of what does not work yet. The other entries exist; they stay covered until they ship.
No. Past 7,777 the required work is multiplied by (n − 7777)² / 45. The first hundred flies past the wall are still reachable; a few hundred later the same hardware needs a day for one. Simulation puts the stop at roughly 8,100–8,500.
On secondary, yes, once flies exist. From us, never — there is no mint button that skips the work, and no allowlist.
No. The seed is the work hash rehashed with a five-minute time bucket. Extra hashrate buys leading zero bits, and zero bits are already paid for.
About $0.002, fixed — Arc's base fee is a constant 20 gwei. Minting is also gasless via EIP-7702 and Circle Paymaster, sponsored by the project.
With the token. Rent is a right, not a transfer: the claim appears arithmetically at mint and is collected whenever the owner comes for it.
No observable mempool, so a found solution cannot be copied out of a pending pool. Deterministic finality, so a mint that lands is final. And PREVRANDAO returns 0 — there is no native randomness on this chain at all, so every trait comes from work somebody actually paid for in electricity.