lightning-waitanyinvoice – Command for waiting for payments


waitanyinvoice [lastpay_index] [timeout]


The waitanyinvoice RPC command waits until an invoice is paid, then returns a single entry as per listinvoice. It will not return for any invoices paid prior to or including the lastpay_index.

This is usually called iteratively: once with no arguments, then repeatedly with the returned pay_index entry. This ensures that no paid invoice is missed.

The pay_index is a monotonically-increasing number assigned to an invoice when it gets paid. The first valid pay_index is 1; specifying lastpay_index of 0 equivalent to not specifying a lastpay_index. Negative lastpay_index is invalid.

If timeout is specified, wait at most that number of seconds, which must be an integer. If the specified timeout is reached, this command will return with an error. You can specify this to 0 so that waitanyinvoice will return immediately with an error if no pending invoice is available yet. If unspecified, this command will wait indefinitely.


On success, an invoice description will be returned as per lightning-listinvoice(7): complete will always be true.

Possible errors are:

    The timeout was reached without an invoice being paid.


Rusty Russell <> is mainly responsible.


lightning-waitinvoice(7), lightning-listinvoice(7), lightning-delinvoice(7), lightning-invoice(7).


Main web site: