author: jackeveritt
author: fiatjaf
author: akumaigorodski
discussion: https://github.com/fiatjaf/lnurl-rfc/issues/33#issuecomment-586706820
LN SERVICE
and LN WALLET
developers can also choose to implement a fast LNURL-withdraw. This implementation reduces the steps involved in the process by putting the data that would be sent by LN SERVICE
in step 3. as query parameters of the LN SERVICE
URL accessed in step 1., before it is bech32-encoded.
Eg:
https://LNserviceURL
?tag=withdrawRequest
&k1=String
&minWithdrawable=MilliSatoshi
&maxWithdrawable=MilliSatoshi
&defaultDescription=String
&callback=String
This fast LNURL-withdraw method is not to be confused as an alternative to the original LNURL-withdraw, and is designed to be only be used for lightning:
-type links that work between apps. It is not suitable for QR code implementations.
If a LN SERVICE
developer chooses to implement fast LNURL-withdraw in their app, the encoded URL with query params must still return a JSON response containing data that would be sent in step 3. when a GET request is made to it. This is required so as to be backwards-compatible with LN WALLET
s which have only implemented the original LNURL-withdraw method.
If a SERVICE
chooses to implement fast LNURL-withdraw in their app, they will still need to support the standard LNURL-withdraw flow by expecting a WALLET
that doesn't understand this scheme to just blindly send a GET request to the encoded URL.