This is a case of explain like i'm five.

I pretty much got the idea, thanks to knaccc in answer Monero Genesis transaction & nonce.

But just to be clear. If I wanted to generate a new "empty" monero blockchain,

I should generate a new wallet, and transfer "some" monero to this wallet, right?

So I got this wallet, with a few XMR in it, from mining. Could I use this wallet, and for example, the last incoming transaction, for the new genesis block?

In the wallet, I issue [wallet 4xxxxx]: show_transfers in

and get response:

1234567 in YYYY-MM-DD 0.100000000000 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef 0000000000000000 0 -

This (long hex thing) is the transaction (tx public key). Is this the one I need for my new genesis block?

There's mention of a output one-time public key. How/Where do I find that one?

Looking at the transaction, in block explorer, I cant find anything matching any keys in my wallet.

There's a lot of Public Keys:

  • Inputs(2) Key Image: Public Keys 14
  • Outputs(21) Public Keys.

So, where do I go from here?

Or, do I have to do an actual transfer, to get the output one-time public key?

1 Answer 1


First you need to send yourself some funds on the real Monero blockchain. It doesn't matter how much.

show_transfers in is displaying your transaction id, which is also known as the transaction hash (because the transaction id is a hash of the transaction). This is not the same as the transaction public key.

Look up this transaction id at xmrchain.net. Here is an example transaction: https://xmrchain.net/tx/06576b3b6862818ba23c74a1a40769be695ea417d19c717e3313f6cf1a137eff

The transaction id is 06576b3b6862818ba23c74a1a40769be695ea417d19c717e3313f6cf1a137eff and the transaction public key is 52ac230076b1257cfd12eab526671ab6460656be7f95274450fc78968e64f4fe.

You'll see a list of "stealth addresses". These stealth addresses are also known as one-time output public keys, or output public keys.

You then need to replace the transaction public key and the output public key in the genesis transaction with the transaction public key and the first output public key (first stealth address) listed in the xmrchain.net transaction.

To know how to replace these in the genesis transaction, you need to know the transaction format, which is described here: How can I create a new Monero genesis block?

That description uses the term output #1 key to mean the one-time output public key.

  • Thanks @knaccc Entering my TX hash xmrchain.net I get 21 stealth addresses. Why is the #1 (00) significant? Or could it be any of them? Why not the one related to the wallet I'm using? I can find my stealth addressby entering Monero addressand Private viewkey. Mine is a good bit down from #1. Aug 3, 2018 at 0:58
  • Because the stealth address is calculated as Hs(8aR||i)G+B where i is the index of the stealth address in the transaction. This means your genesis transaction won't work unless you swap in a stealth address that was first in the list from another transaction. That's why I recommended you send funds to yourself, so that the first stealth address of that incoming transaction will be useful for the purpose of swapping into the genesis tx.
    – knaccc
    Aug 3, 2018 at 1:11
  • 1
    Okay. Got it. I'm trying to understand how things fit together, and you are doing a very good job of that. Thanks a lot @knaccc. I'm enjoying reading your other answers, to other questions. Less guess work in your posts :) Aug 3, 2018 at 6:48
  • knacc your answer is not clear if stealth address must be yours or any other on the ring if we can insert our stealth address why not to create it like monero.stackexchange.com/questions/1409/… and not have a transaction on mainnet.
    – user9950
    May 16, 2019 at 13:57
  • Interesting read. Too bad I'm not a math wizard. May 17, 2019 at 2:21

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.