Support mint-backed L402 receiving with explicit payer preimage requirements #20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Geata can offer L402 invoices backed by a trusted Cashu mint, allowing an operator to receive payments as ecash without running an LDK node. Satsettle's public
LightningOptions.receivercurrently requiresLdkConfig, so replacing Geata's payment implementation would lose this receiver option.Add a mint-backed receiver for automatic L402 settlement. This is distinct from direct Cashu settlement to a trusted mint: the payer receives a Lightning invoice and authenticates with an L402 credential.
Expected flow:
macaroon:preimagecredential and verify its binding, restrictions, and preimage.Preimage limitation
The receiving mint does not need to expose the preimage to satsettle: standard L402 gets it from the payer, whose Lightning wallet obtains it when paying the invoice.
A payer using a Cashu mint to melt tokens may not receive a preimage from that mint. In that case payment can succeed while the payer cannot complete L402 authentication. Document this limitation explicitly; do not treat a mint's
PAIDresponse as a replacement for the payer's L402 credential. Those Cashu clients should use satsettle's direct Cashu submission/settlement flow, which confirms settlement at the destination without requiring a payer-supplied preimage. Changing the receiver to LDK does not fix this payer-side limitation.Acceptance criteria
Reference implementation: Geata's mint-backed invoice and collection flow and L402 verification. Geata's single-use request admission remains application-owned; satsettle receipts should retain their idempotent retry behavior.