Method Signature
Parameters
Amount in satoshis to receive. Must be a safe integer (less than 2^53).
64-character hex string representing the payment hash. You must know the preimage for this hash to settle the payment.
Optional memo/description for the invoice (max 639 characters). Cannot be used together with
descriptionHash.Invoice expiry time in seconds (default: 2,592,000 = 30 days)
Whether to embed Spark address in the invoice fallback field. Mutually exclusive with
includeSparkInvoice. Note: If the payer uses the fallback address instead of Lightning, the payment cannot be correlated to this invoice—it appears as a separate Spark transfer.Whether to include a Spark invoice in the invoice routing hints. Mutually exclusive with
includeSparkAddress. When enabled, allows payers to seamlessly pay over Spark if they support it.33-byte compressed identity pubkey for generating invoices for other Spark users
SHA256 hash of the description for BOLT11 description_hash field. Cannot be used together with
memo.Returns
The Lightning receive request object containing:
id: Unique identifier for the requestinvoice: Invoice object withencodedInvoice,paymentHash,amount, etc.status: Request statuscreatedAt,updatedAt: Timestamps
Access the BOLT11 invoice string via
request.invoice.encodedInvoice.Examples
Use Cases
Hold invoices are useful for:- Conditional payments: Accept payment but don’t settle until certain conditions are met
- Atomic swaps: Coordinate payments across different systems using the same preimage
- Escrow services: Hold funds until both parties confirm the transaction
- Cross-chain operations: Lock funds that depend on events in other blockchains