Protocol inspector

NIP-57 Zap Debugger

Run Lightning Address discovery one step at a time and inspect every intermediate value.

1 Validate Lightning Address

Input

Transformation

Split at @ without normalizing or silently correcting the input.

Validation

Not run

2 Resolve LNURL-pay endpoint

Complete Step 1 and explicitly resolve the endpoint.

3 Fetch and validate LNURL-pay response

Review the resolved URL in Step 2, then explicitly run the GET request.

4 Validate Zap Request parameters

Step 4 requires a valid LUD-06 response, supported NIP-57 advertisement, callback, amount range, and LNURL-pay URL.

5 Build unsigned kind 9734

Validate Step 4, then explicitly build the Zap Request.

6 Sign Zap Request with NIP-07

Build and validate an unsigned event in Step 5 first.

7 GET Zap callback

Sign the Zap Request in Step 6 first. The callback is only requested when you explicitly continue.

8 Inspect BOLT11 invoice amount

Get a Lightning invoice from the callback in Step 7 first.

9 Verify invoice description hash

Decode the Lightning invoice in Step 8 first.

10 Pay invoice

Payment handoff is available only after the invoice amount and description hash both match.

11 Wait for Zap Receipt

Step 11 requires the verified payment handoff, signed Zap Request, recipient p tag, and at least one relay from its relays tag.

12 Validate Zap Receipt

Step 12 requires at least one Step 11 candidate and the validated LNURL provider nostrPubkey.