I've been reading up on how transactions actually work, but I'm not sure I understand how testnet bitcoins are kept from being spent on mainnet. My best understanding is that coins are actually references to transactions on the chain, so referencing a testnet transaction on the mainnet chain would not work. Is this correct?

2 Answers 2


Yes, that's correct. A mainnet node would just see those transactions as invalid because the outputs they attempt to spend are not in its database. It would have no idea that there is some other network on which they are valid.

  • Thanks! I was wondering, and I felt like it was clicking once I understood inputs and outputs a little better, but I wasn't sure. Thanks for the answer! Nov 2, 2017 at 21:21

Indeed. When if you try to reference a utxo (unspent transaction output) from a previous transaction of the testnet in the mainnet, most likely there will be no match.

In case there was a match, you will need to prove that you can spend such output (by performing a digital signature normally), which is even less likely.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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