This endpoint verifies whether a Lightning invoice has been paid by querying Buda.com’s BTC deposit history. It searches all confirmed deposits for one whoseDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/nicosaporiti/buda-lightning-invoice/llms.txt
Use this file to discover all available pages before exploring further.
deposit_data.invoice.encoded_payment_request matches the invoice string you provide. Because the check happens server-side against the authenticated Buda.com account, no API credentials are needed from you — only the BOLT11 payment request returned by POST /newinvoice.
Request
Content-Type:application/json
The BOLT11 payment request string to check. This is the exact value returned
in the
invoice field by POST /newinvoice. The string begins with lnbc
on mainnet.Response (200 OK)
The invoice from the request, echoed back unchanged.
true if the invoice has been paid and the corresponding deposit is in
the confirmed state in Buda. false in all other cases — unpaid, pending,
expired, or not found.Status Logic
The server executes the following steps to determine payment status:- Calls Buda.com’s authenticated endpoint
GET /api/v2/currencies/btc/depositsto retrieve the full deposit history for the account. - Searches the resulting list for a deposit where both conditions hold:
deposit_data.invoice.encoded_payment_request === invoice(exact string match)state === 'confirmed'
- If a matching confirmed deposit is found, returns
{ status: true }. Otherwise returns{ status: false }.
state equal to "pending" or any other non-confirmed value will yield false — the payment has arrived on-chain/off-chain but has not yet been fully settled by Buda.
Error Responses
All errors return HTTP 400 Bad Request. Validation error — returned wheninvoice is missing or not a string: