Is there any step-by-step tutorial about how to build own cryptocurrency based on Bitcoin code?

  • 2
    Fork or totally new chain?
    – user5107
    Commented Dec 24, 2013 at 7:23
  • 2
    I want new chain, start mining from scratch and different rules (I want more than 21.000.000 coins)
    – Michal
    Commented Dec 24, 2013 at 7:24

4 Answers 4


To start a new chain, use a genesis generator, apply the new genesis to the source, and remove the checkpoints.

If you want to apply new/different rules, be prepared for a difficult task. Changing even the slightest protocol rule will most likely affect all other rules because of the complexity of PoW.

If the only thing you want to alter is the maximum coins, this should be relatively easy to alter in the source.


There is a Complete Guide on How to Create a New Alt Coin on Bitcoin Talk.


Here is a guide: How to Fork Bitcoin (create your own chain).

I really think Bitcoin as a concept is unique and powerful, and the project is well maintained by very talented developers, so I wanted to write this not just to help make it easy to clone, but to help increase understanding of the concepts and how to fully utilize them in other projects. I would love comments if you think I can improve it in any way. It covers the following:

  • Forking
  • Building from source
  • Customizations:
    1. Change default ports for all nets (mainnet, testnet, regtest)
    2. Change the “magic message” or the message prefix for all nets (mainnet, testnet, regtest)
    3. Change the address prefixes (optional) for all nets (mainnet, testnet, regtest) and for all address types (P2PKH, P2SH, and secret keys).
    4. Change the block reward (optional)
    5. Change the coinbase maturity (optional)
    6. Change the halving interval (optional)
    7. Update max money check value (required if this should be different)
    8. Reset minimum chain work
    9. Remove DNS seeds
    10. Remove checkpoints
    11. Update DEFAULT_MAX_TIP_AGE
    12. Change block time (optional) for all nets (mainnet, testnet, regtest)
    13. Change the difficulty adjustment interval (optional) for all nets (mainnet, testnet, regtest)
  • Managing Updates

There are some tutorials out there, check out:

If that one is not sufficient let me know, and maybe I'll write one up.

There are also a lot of coins on github that you could just fork, create your own genesis block, modify parameters (coins per block, max coins, etc) and start mining.
One example is:

  • 1
    imho it's insufficient- if you want to write one I'd be the first to read it Commented May 6, 2017 at 18:30
  • Please make one tutorial. Most out there are old and does not work at all, and all occurs error or even does not desctibe what they uses. I am using Windows 10 laptop.
    – creator
    Commented Jan 25, 2018 at 9:11

Not the answer you're looking for? Browse other questions tagged or ask your own question.