Skip to main content
Creates a Lightning invoice for receiving payments via the SparkWallet.

Method Signature

Parameters

amountSats
number
required
Amount in satoshis to receive. Use 0 for zero-amount invoices. Must be a safe integer (less than 2^53).
memo
string
Optional memo/description for the invoice (max 639 characters). Cannot be used together with descriptionHash.
expirySeconds
number
Invoice expiry time in seconds (default: 2,592,000 = 30 days)
includeSparkAddress
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.
includeSparkInvoice
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.
receiverIdentityPubkey
string
33-byte compressed identity pubkey for generating invoices for other Spark users
descriptionHash
string
SHA256 hash of the description for BOLT11 description_hash field. Cannot be used together with memo.

Returns

request
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