> ## 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-21: `verify` base spec.

> Display inline code and code blocks

`author: reneaaron`

***

Allow `SERVICE`s to check whether an invoice has been paid by contacting the `LN SERVICE`.

A `SERVICE` can verify a payment was made without access to the user's node. Users can give their LNURL or [Lightning Address](https://lightningaddress.com) to a `SERVICE` and allow the `SERVICE` to create *and* verify invoices on their behalf.

This allows users to re-use existing wallets and `SERVICE`s to facilitate P2P payments without being an intermediary.

## LNURL-verify

An optional field `verify` is added to the `callback` response:

```diff theme={null}
{
  "status": "OK",
  "routes": [],
  "pr":     "lnbc10...",
  "verify": "https://example.com/verify/894e7f7e...",
}
```

The field `verify` provides an URL to a `SERVICE` to check if the invoice has been settled:

`https://example.com/verify/894e7f7e...`

Response

```json theme={null}
{
  "status": "OK",
  "settled": true,
  "preimage": "123456...",
  "pr": "lnbc10..."
}
```

```json theme={null}
{
  "status": "OK",
  "settled": false,
  "preimage": null,
  "pr": "lnbc10..."
}
```

or

```json theme={null}
{
  "status": "ERROR",
  "reason": "Not found"
}
```
