BTCFoundry
Mechanism $BTCF
Home Mine Mechanism Docs

Mechanism

Work in,
supply out.

There is no faucet, no sale and no allocation. The only door into the supply is a hash that lands under the target, and the contract checks every one of them itself.

01

The challenge

The forge publishes a 32-byte challengeNumber. It is derived from the previous block hash mixed with the last winning digest and the block count, so it is fresh after every block and nobody can pre-compute the next one.

02

The search

Your browser hashes keccak256(challenge ‖ your address ‖ nonce) over and over, on as many lanes as you give it. Because your own address is inside the hash, nobody can steal your solution in flight, it is only valid for you.

03

The proof

A digest at or under miningTarget is a block. You send the nonce; the contract does the hash again on chain and mints only if it agrees. Submitting a nonce you did not earn simply reverts.

04

The schedule

Fifty BTCF a block, halved every 210,000 blocks, stopping dead at 21,000,000. It is Bitcoin’s curve, unaltered. Every 1,024 blocks the target moves to pull the block time back to a minute, clamped to a fourfold move either way, exactly as Bitcoin clamps it.

What the deployer gets

Nothing.

The contract has no owner variable, no mint function reachable without a valid nonce, no pause, no upgrade path and no allocation written at construction. Whoever pays the gas to deploy it walks away with a zero balance like everyone else, and has to mine block one on the same terms.

That is not a promise, it is the source. contracts/BTCFoundry.sol is 150 lines, and the compiled bytecode shipped with this site is what your wallet deploys.

Known trade-offs

Where this differs from Bitcoin.

The winner nudges the next puzzle. The new challenge mixes in the winning digest, so a miner could in principle grind nonces to shape it. The gain is negligible, since the next block still costs the same work, but it is a real difference from Bitcoin, where the challenge comes from the chain alone.

One block per chain block. The challenge only rotates when a block is mined, so two miners racing the same challenge means one of them reverts and loses the gas, not the work.

A browser is a poor miner. JavaScript does a few hundred thousand hashes a second. That is the point at this size, because difficulty starts at 1 so a laptop can win. A native miner would outrun a tab by orders of magnitude, and the retarget would follow it up.