The withdrawal link object

Withdrawal links provide the most user-friendly method for delivering lightning withdrawals to your customers. To initiate a fund transfer, you'll first need to generate a withdrawal link, specifying details like the amount and currency. You can protect it by adding a password to it.

Upon creation, the withdrawal link is initially marked as unpaid, and you can distribute this link to your customers through various channels, such as social media, emails, or preferred chat platforms.

When your customer clicks on the link, if it is password protected, they must enter the password to receive a one-time payment of a fixed amount by scanning the QR code shown on the withdrawal page. The QR code contains an LNURL-withdraw, enabling your customer to access the funds using their supported wallet.

Upon claiming, the corresponding Speed account balance is verified.

  • If the balance is insufficient, an error message will be displayed to your customer.
  • Otherwise, the withdrawal link will be processed, transitioning its status from unpaid to paid.

After being paid, the withdrawal link becomes invalid for any subsequent transactions.


    "id": "wlink_live_xxxxxxxxxxxxxxxxx",
    "withdraw_id": [],
    "object": "",
    "livemode": true,
    "status": "active",
    "url": "",
    "currency": "USD",
    "amount": 2,
    "target_currency": "SATS",
    "is_secured": false,
    "statement_descriptor": "null",
    "success_url": "null",
    "success_message": "null",
    "metadata": {},
    "created": 1701759444104,
    "modified": 1701759444104


id string
Unique identifier for the object.

withdraw_id string
It remains empty when the withdrawal link is unpaid and holds a value once the withdrawal link has a "paid" status.

object string
The type of the object indicates to which entity this response belongs.

livemode string
If the object is in live mode, it has the value true; otherwise, it has the value false.

status string
Upon the creation of the withdrawal link, it will be in "active" status. Subsequently, it can transition into the "paid" status upon a successful withdrawal by your customer or into the "deactivate" status if you don’t want to pay your customer or when you intentionally deactivate it.

url string
The public URL that can be shared with customers for withdrawal.

currency string
The base currency in which you prefer to work.

amount string
The amount for which the withdrawal has been created.

target_currency string
The cryptocurrency in which you want to receive payment from your customer. As of now, Speed only supports SATS.

is_secured string
If the link is password protected, it has the value true; otherwise, it has the value false.

statement_descriptor string
Additional information about a withdrawal link.

success_message string
Message your customers will see once they successfully receive the defined amount.

success_url string
Customers will be redirected to this link if the transaction goes through successfully.

metadata string
You can use this to store additional information about the object in a structured format.

created timestamp
The time at which the object was created

modified timestamp
Time at which the last modification was made.