{"info":{"_postman_id":"e74e8119-d4c3-413d-ab5d-5b3634c321cc","name":"Lightning Address","description":"<html><head></head><body><h3 id=\"general\">General</h3>\n<p>These are a few HTTP GET requests that aims to exemplify the Lightning Address / LNURL functionality. </p>\n<h3 id=\"zebedee-apis\">ZEBEDEE APIs</h3>\n<p>The APIs provided here (zbd.gg and api.zebedee.io) are both controlled and maintained by ZEBEDEE, an LSP and fintech infrastructure provider for the gaming industry.</p>\n<p>Please report any inconsistent behavior of these APIs to <a href=\"mailto:devreports@zebedee.io\">devreports@zebedee.io</a>.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"9124017","collectionId":"e74e8119-d4c3-413d-ab5d-5b3634c321cc","publishedId":"UVByKqQt","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2021-11-01T21:54:04.000Z"},"item":[{"name":"andre@zbd.gg Lightning Address","id":"a59c993d-61c2-44c4-aff6-fbe26b860f44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://zbd.gg/.well-known/lnurlp/andre","description":"<h3 id=\"lightning-address\">Lightning Address</h3>\n<p>The Lightning Address is a simple human-readable HTTP-based resolver for an LNURL Pay QR code. Instead of scanning a QR code or copy-pasting a string like <code>lnurl1ja9ch12......</code>, with Lightning Address you can use <code>username@domain.com</code>. </p>\n<h3 id=\"fetching-information\">Fetching Information</h3>\n<p><code>andre@zbd.gg</code> = <code>username@domain.com</code></p>\n<p>When <a href=\"https://github.com/andrerfneves/lightning-address#readme\">evaluating a Lightning Address</a>, all that needs to be done is extract the <code>username</code> and the <code>domain.com</code> from the address and perform a GET request. The returned response payload is the response for the <code>normal</code> LNURL Pay flow, also known as <a href=\"https://github.com/fiatjaf/lnurl-rfc/blob/luds/06.md\">LUD 6</a>.</p>\n<p>From <code>username</code>@<code>domain.com</code> to https://<code>domain.com</code>/.well-known/lnurlp/<code>username</code>.</p>\n<p>To decode Lightning Addresses. head on over to <a href=\"https://lightningdecoder.com\">Lightning Decoder app</a>. A few other examples of Lightning Address follow below:</p>\n<ul>\n<li><a href=\"mailto:andre@zbd.gg\">andre@zbd.gg</a></li>\n<li><a href=\"mailto:fiatjaf@lntxbot.com\">fiatjaf@lntxbot.com</a></li>\n<li><a href=\"mailto:sergej@bitrefill.me\">sergej@bitrefill.me</a></li>\n<li><a href=\"mailto:fox2pzeb@ln.tips\">fox2pzeb@ln.tips</a></li>\n<li><a href=\"mailto:root@stadicus.com\">root@stadicus.com</a></li>\n</ul>\n<h3 id=\"response-example\">Response Example</h3>\n<p>This response payload is <code>identical</code> to the response payload of the next request. This is to showcase how the Lightning Address and the LNURL Pay (encoded URL) QR codes are interchangeable. LN Address just resolves to the QR code itself.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"minSendable\":1000,\n  \"maxSendable\":150000000,\n  \"commentAllowed\":150,\n  \"tag\":\"payRequest\",\n  \"metadata\":\"[[\\\"text/plain\\\",\\\"andre - Welcome to ZEBEDEE! ;)\\\"], [\\\"text/identifier\\\",\\\"andre@zbd.gg\\\"]\",\n  \"callback\":\"https://api.zebedee.io/v0/process-static-charges/d0f2c3da-e836-480a-bf8c-f5d5b167d6f8\"\n}\n</code></pre>","urlObject":{"protocol":"https","path":[".well-known","lnurlp","andre"],"host":["zbd","gg"],"query":[],"variable":[]}},"response":[],"_postman_id":"a59c993d-61c2-44c4-aff6-fbe26b860f44"},{"name":"andre LNURLp Fetch Payload","id":"188b40e0-c8f5-45e1-8610-7f383ecd9448","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.zebedee.io/v0/request-static-charges/d0f2c3da-e836-480a-bf8c-f5d5b167d6f8","description":"<h3 id=\"lnurl-pay-fetch-details\">LNURL Pay Fetch Details</h3>\n<p>The LNURL Pay flow is comprised of 2 API requests, one for fetching metadata, min/max sending amounts, and callback URL, followed by a second request which performs the actual <code>get me an invoice</code> request.</p>\n<p>This API represents the first API where the payload response follows the LUD6 protocol.</p>\n<h3 id=\"response-example\">Response Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"minSendable\":1000,\n  \"maxSendable\":150000000,\n  \"commentAllowed\":150,\n  \"tag\":\"payRequest\",\n  \"metadata\":\"[[\\\"text/plain\\\",\\\"andre - Welcome to ZEBEDEE! ;)\\\"], [\\\"text/identifier\\\",\\\"andre@zbd.gg\\\"]\",\n  \"callback\":\"https://api.zebedee.io/v0/process-static-charges/d0f2c3da-e836-480a-bf8c-f5d5b167d6f8\"\n}\n</code></pre>","urlObject":{"protocol":"https","path":["v0","request-static-charges","d0f2c3da-e836-480a-bf8c-f5d5b167d6f8"],"host":["api","zebedee","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"188b40e0-c8f5-45e1-8610-7f383ecd9448"},{"name":"andre LNURLp Request Invoice","id":"f1f09b41-4dfd-431b-ac11-2ce3c17efdc1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.zebedee.io/v0/process-static-charges/d0f2c3da-e836-480a-bf8c-f5d5b167d6f8?amount=1000","description":"<h3 id=\"request-invoice\">Request Invoice</h3>\n<p>After fetching the LNURL Pay parameters with the previous API endpoint, we now have access to the <code>callback</code> property, which outlines the URL for submitting a GET call to retrieve a new invoice. This is the <code>Hey, give me an invoice for 500 satoshis</code> part.</p>\n<p>Using the <code>amount</code> query parameter in the GET request with the provided <code>callback</code>, if the amount is between the <code>minSendable</code> and <code>maxSendable</code> amounts, then an invoice will returned in the response payload.</p>\n<p>Note that values are in millisatoshis, not satoshis. <code>1 sat = 1000 msat</code>.</p>\n<h3 id=\"response-example\">Response Example</h3>\n<p>The <code>pr</code> property that gets returned is the Lightning Network invoice itself (payment request). </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"pr\": \"lnbc10n1pshnqgkpp5gfmfa8srqgxdujnlw2a3yx39xex6ymg488jstyxt8z3q624v863shp5qafhuasqm6ukxux3kgzrwjt0xeuahld0y3vzlhvlm2rgllt98lqscqzpgxqzfvsp5z5plachz6hkd46ru8e7kq9mhzn9avf6qn8akxxwyg5faqz3kvams9qyyssqp752ymtv3crupuwwu4ax6dav4adsk56jnxjt44htjz696lj8ftpzs8456aex5qfy7g8k38rxkvny00c4pjj88y2pg4ydx6khz5p8rysq6pacm8\",\n}\n</code></pre><p>If you wish to decode/learn more about this invoice, head on over to <a href=\"https://lightningdecoder.com\">Lightning Decoder</a>.</p>\n","urlObject":{"protocol":"https","path":["v0","process-static-charges","d0f2c3da-e836-480a-bf8c-f5d5b167d6f8"],"host":["api","zebedee","io"],"query":[{"key":"amount","value":"1000"}],"variable":[]}},"response":[],"_postman_id":"f1f09b41-4dfd-431b-ac11-2ce3c17efdc1"}]}