Arc mainnet · chain 5042 · native USDC

HashFly

You can't buy a HashFly. You mine one.

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.

HashFly
SEED → PICTURE
7,777the wall
0.12 USDCprice step
75%rent to holders
0%protocol fee

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.

What this is

Nothing here is sold ready-made

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.

Follows from the hash

Nobody chooses the traits

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.

Follows from the address

A solution can't be stolen

Your address is inside the hash, and so is the previous fly's. Arc has no observable mempool to copy a transaction from either.

Follows from storage

The art can't break

Sprites, palette and weight tables live in contract storage. If this website disappears, the collection does not change at all.

Mining

Four values, one hash, one comparison

keccak256( minerAddress, nonce, prevFlyHash, anchor )  <  target
InputWhat it isWhy it is there
minerAddressyour addressmakes the solution untradeable — a copied transaction computes to something else
noncethe only free valuewhat workers spin, hundreds of thousands of times a second
prevFlyHashthe work behind the previous flynothing can be mined ahead of time; every mint kills every held solution
anchora recent block hash, 256-block window (≈128 s)the backstop for a quiet hour

From work to picture

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.

Difficulty is six rules, not one number

RuleValueWhat it closes
Epoch floor26 bits + epochan idle network
Retargetevery 8 mintsa drifting pace — at most 4× harder or 2× easier in one step
Streak×2 per recent minta run of mints in a row. Twelve in a row cost 4,096× the work of one
Failsafe5 min → one epocha dead network, by exactly one epoch, never deeper
Block ceiling1 mint per blocka burst — about two flies a second, hard
The wall(n − 7777)² / 45the 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.

Economy

The price is derived, not chosen

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.

75%Rent, credited to every token that existed at the start of the epoch. A right, not a transfer — it travels with the token.
15%The hook. Buys $FLY back on the open market and burns it.
10%The project — 5% team & investors, 5% development, paid to two separate Safe 2-of-3 addresses fixed at deployment.
EpochStarts atSize Entry priceFloorLifetime rentReturn
008$0.7726 bits$699.21908×
1816$0.9627 bits$697.77727×
22432$2.8828 bits$694.89241×
35664$6.7229 bits$689.13103×
4120128$14.4030 bits$677.6147.1×
5248256$29.7631 bits$654.5722.0×
6504512$60.4832 bits$608.4910.1×
71,0161,024$121.9233 bits$516.334.23×
82,0402,048$244.8034 bits$332.011.36×
94,0883,689$490.5635 bits$0.001.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.

The honest part

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.

$2,476,844mint volume to the wall
$1,857,633rent to holders
$238.86rent per token
$371,527buyback & burn
$FLY

An ERC-20 that exists only because a HashFly stopped existing

Emission

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.

The ceiling is an arbitrage, not a promise

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 waited012 345
$FLY returned1,000500250 1256231

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.

Art

128 × 128, sixteen colours, drawn by the contract

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.

SlotTraitsZero-byteNotes
Backdrop55palette only
Body241114 pigment alleles, 5 bristle forms, 5 house colourways
Eyes231414 colour, 9 shape
Wings180every one a published wing phenotype
Antenna80includes the homeotic mutants
Headwear271none = 22.8%
Eyewear131none = 29.2%
Neckwear121none = 29.1%
Offhand201none = 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.

Monarchs

Seven 1-of-1s, one per window of 1,111

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.

The Driving Fly

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

The Carver

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

The Cube

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

Morgan's White-Eyed Male

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

The Lewis

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

Firedamp

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

Queen Melanogaster

The only gravid fly in the collection. Five eggs, lit from inside, under a violet crown.

7

drawn by hand, outside the roll,
on reserved token ids

Mine

The miner

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.

hashrate
target
entry price
supply
MINER — COMING SOON

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.

Security & transparency

Nothing here asks you to trust a person

Verified on Arcscan

The source of everything holding money is readable by anyone, on chain, from the day it is deployed.

Audit before mainnet

The report is linked here when it exists. Slither, Echidna and differential fuzzing against a reference implementation run in CI.

Full public testnet beta

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.

Roadmap

01 STAKING
02
03

No dates, and no descriptions of what does not work yet. The other entries exist; they stay covered until they ship.

FAQ

Questions

Is there a supply cap?

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.

Can I buy one instead of mining?

On secondary, yes, once flies exist. From us, never — there is no mint button that skips the work, and no allowlist.

Does more hashrate get me rarer traits?

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.

What does a mint cost in gas?

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.

Where does the rent go if I sell?

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.

Why Arc?

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.