Is there a way to do a proof-of-locked coins? I know Bitcoin has the ability to lock for X amount of blocks. Does Monero have something like this and how does a 3rd party prove that a user has locked X amount of coins?

1 Answer 1


You can prove a) that a tx has locked coins by providing the tx hash of the tx which has the locked funds and b) prove you created the tx.

To prove a tx has locked funds, simply give the user the txid so they can inspect it on the blockchain (using either their own local daemon or a blockchain explorer). E.g.

$ monerod print_tx 6cd029...bf8c34 +json
Found in blockchain at height 1991755 (pruned)
  "version": 2, 
  "unlock_time": 1991815, 

Which shows that this tx is locked until block 1991815.

To prove you sent the tx, use the wallet command get_spend_proof:

[wallet]: get_spend_proof 6cd029...bf8c34
signature file saved to: monero_spend_proof

Then send the resulting file and txid to the user so they can verify with the wallet command check_spend_proof:

[wallet]: check_spend_proof 6cd029...bf8c34 monero_spend_proof
Good signature
  • monerod print_tx 6cd029...bf8c34 +json doesn't show the amount locked, but only that its locked until a certain block height. would I need to make a separate monerod call to verify the amount sent or can I just do it in the same print_tx command? Dec 18, 2019 at 20:36
  • Only the sender or recipient can view amount and they do that in their wallet.
    – jtgrassie
    Dec 18, 2019 at 21:55
  • is there no way to publicly show the amount in a way that you don't expose your private keys? How about providing the view keys for the receiver address where the sender sends to another address they control. May 7, 2020 at 16:34
  • Using a combination of get_reserve_proof and get_tx_proof / get_spend_proof should suffice no?
    – jtgrassie
    May 7, 2020 at 20:58

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.