> ## Documentation Index
> Fetch the complete documentation index at: https://lnurl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# LUD-08: Fast `withdrawRequest`.

> Display inline code and code blocks

`author: jackeveritt` `author: fiatjaf` `author: akumaigorodski` `discussion: https://github.com/fiatjaf/lnurl-rfc/issues/33#issuecomment-586706820`

***

## Fast LNURL-withdraw scheme

`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](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.

### Backwards compatibility

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.
