In Bitcoin and many other cryptocurrencies, we can create and sign a transaction that will not be valid until after a certain period of time. This is often used to lock down money used in a protocol while allowing for the protocol to time out and return the money if the protocol fails.

An example is prepaying, where you regularly buy stuff at a shop and you want to reduce the number of transactions sent to the blockchain, so you create a multisig or shared account between the party and the shop. Whenever the customer wants to buy something, they simply sign a new transaction sending that amount plus the amount the customer already owes to the shop, sending the rest back to the customer. This allows you to buy any number of things with only 2 transactions posted to the blockchain. However, if the shop is malicious and refuses to serve the customer after the money is put in the shared account, then the customer needs to be able to get their money back eventually, so a time locked return transaction would be created before any money is added to make sure the money can't be locked down forever.

Note I am not talking about transaction unlock time, where a transaction is posted but can not be used as an input for a period of time. Instead, I want the transaction itself to be invalid until a certain period of time has passed.

Is there a time locked transaction mechanism in Monero?

1 Answer 1


No. Monero does not have an equivalent to Bitcoins CheckLockTimeVerify or CheckSequenceVerify.

  • That's a shame. Is there any kind of standard method simulate this functionality? Like how multisig isn't explicitly supported, but it can still be used. I'm thinking something like time locked commitments, but those aren't known for their precision.
    – Zarquan
    Commented May 20, 2019 at 20:23
  • Discussed previously: here, here and here, amongst other places.
    – jtgrassie
    Commented May 20, 2019 at 21:35
  • The first link says that you can create a multi input transaction (with more than one real input) and create the lock that way. Is this a standard practice or a good practice if you need this functionality?
    – Zarquan
    Commented May 28, 2019 at 18:58
  • I created a new question about the I mechanism I brought up above in a new question because it is a related question, but not precisely the same question. monero.stackexchange.com/questions/11279/…
    – Zarquan
    Commented May 28, 2019 at 19:33
  • "It is technically possible to implement nLockTime now (without protocol change), but it is a little clunky. You have to put a negligible amount of Monero in a time lock transaction, and then sign a transaction spending it and the funds you want to nLockTime. This won't be publishable until the other transaction is unlocked, but it is a little clunky, requiring a couple of transactions (and data must be published to the blockchain)." The bolded is the multi-input transaction.
    – Zarquan
    Commented May 28, 2019 at 22:50

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.