Skip to main content
Creates a Lightning hold invoice (HODL invoice) with a custom payment hash. Hold invoices allow you to accept payments that are held in a pending state until you explicitly settle or cancel them.

Method Signature

Parameters

number
required
Amount in satoshis to receive. Must be a safe integer (less than 2^53).
string
required
64-character hex string representing the payment hash. You must know the preimage for this hash to settle the payment.
string
Optional memo/description for the invoice (max 639 characters). Cannot be used together with descriptionHash.
number
Invoice expiry time in seconds (default: 2,592,000 = 30 days)
boolean
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.
boolean
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.
string
33-byte compressed identity pubkey for generating invoices for other Spark users
string
SHA256 hash of the description for BOLT11 description_hash field. Cannot be used together with memo.

Returns

LightningReceiveRequest
required
The Lightning receive request object containing:
  • id: Unique identifier for the request
  • invoice: Invoice object with encodedInvoice, paymentHash, amount, etc.
  • status: Request status
  • createdAt, updatedAt: Timestamps
Access the BOLT11 invoice string via request.invoice.encodedInvoice.
Hold Invoice Requirements: You must know the preimage that corresponds to the paymentHash parameter. When a payer pays this invoice, the payment will be held until you provide the preimage to settle it. If you don’t know the preimage, you won’t be able to claim the funds.

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