Skip to main content
Creates a Lightning invoice for receiving payments via the SparkWallet. Save the returned request id and invoice.paymentHash for reconciliation. When creating an invoice for another receiver, keep the requesting wallet identity available for future lookups and register webhooks on that wallet. See payment correlation.

Method Signature

Parameters

number
required
Amount in satoshis to receive. Use 0 for zero-amount invoices. Must be a safe integer (less than 2^53).
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.

Examples