Evermine BTC – Bitcoin Developer Journal
A perpetual virtual Bitcoin mining experiment built on ICP
Hi everyone ![]()
I recently recorded a short video demo of Evermine BTC, a project I’ve been building on the Internet Computer over the last two years. I wanted to share it here as a developer journey rather than a formal launch announcement.
This project has mainly been about learning, experimentation, and progress — and honestly, it’s been great fun.
Background & Journey
- Built on ICP over ~2 years
- Failed 2–3 ICP bootcamps before eventually passing
- Went on to lead a team that won an international hackathon for a liquid staking protocol
- Learned some Python via FreeCodeCamp, but I’m largely self-taught, using AI heavily as a learning and development tool
Evermine BTC is probably the 5th iteration of this idea.
What is Evermine BTC?
Evermine BTC is a perpetual virtual Bitcoin mining protocol.
- Users commit funds once
- They receive rewards daily
- In theory, this continues forever
Under the hood, the “miner” is actually a liquid staking protocol built on the NNS, disguised as a Bitcoin mining application.
How it works (high-level)
- Maturity is disbursed on a rolling basis
- ICP is traded for ckBTC daily
- Uses ICPSwap for swaps
- Rewards are distributed as ckBTC
The architecture is designed to demonstrate a yield-bearing engine, where with just a few lines of code you can fork the system into an entirely new product or game.
Governance
Governance is fully autonomous, implemented with just a few lines of code in the voting module.
No manual intervention is required once deployed (almost).
Miner (MNR) Token
User claims are represented by a Miner (MNR) token, which allows users to:
- Change wallets
- Gift their ckBTC claim
- Sell their position on a 3rd-party market (e.g. a decentralized orderbook exchange)
Current State of the App
- The frontend is a bit of a mess — it was built in haste
- Most of my focus has been on the backend
- The last few weeks were spent fine-tuning functionality and self-auditing the code
I wasn’t able to demo the canister-to-canister ICPSwap swaps in the video because I mistakenly deleted my mock ICPSwap and ckBTC canisters while preparing for mainnet ![]()
What’s Next?
- More local testing with PocketIC
- Writing additional test and orchestration scripts
- Then self-testing on mainnet in a locked-down, admin-controlled environment
I plan to make the GitHub repository public in ~2 weeks, once I’m confident that:
- Bot swaps
- Orchestration logic
- Bitcoin reward flows
are all functioning correctly, and I have gone over the code once or twice more.
Concerns & Open Questions
I’m honestly unsure whether this app will ever fully launch because:
- I don’t have funds for an external security audit
- I worry about traction on the IC
- Properly decentralising the system may be challenging (should be built to last forever)
That said, the project has already achieved its main goal: learning by building.
Feedback Welcome 
If anyone has:
- Suggestions
- Ideas
- Architectural feedback
- Thoughts on decentralisation, audits, or positioning
Please feel free to comment or discuss —
![]()