diff options
| author | Adam Soltys <[email protected]> | 2026-09-21 19:21:29 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-21 19:21:43 -0700 |
| commit | 671cdb3af944b5e6d39361f4a208547d0e9f7291 (patch) | |
| tree | f79311f96084d6a28708efd1223e85f18ff56926 /src/routes/(static) | |
| parent | dcca73434f93e8cf8a912e55a6e098791277a976 (diff) | |
| download | coinos-ui-671cdb3af944b5e6d39361f4a208547d0e9f7291.tar.gz coinos-ui-671cdb3af944b5e6d39361f4a208547d0e9f7291.zip | |
send: quote the lightning routing fee up front and add Max to lightning sends
The lightning send page now asks the server what the payment will cost
before showing the Send button: the exact routing fee from the route
query, the platform fee, and the total. The quoted fee is submitted as
the maxfee, so what the user sees is what gets debited; advanced
settings still let them override it, and if the quote fails the page
falls back to the old 2% reserve.
Max on the amount step asks the server for the largest amount whose
amount + routing fee + platform fee lands exactly on the balance, and
for an offer picks up the invoice fetched for that exact amount.
LNURL-pay gets a Max button too. The invoice only exists once we name an
amount, so the action fetches a probe invoice at the ceiling, lets the
server solve for the amount, then fetches the real invoice for it.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to 'src/routes/(static)')
| -rw-r--r-- | src/routes/(static)/docs/+page.svelte | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/routes/(static)/docs/+page.svelte b/src/routes/(static)/docs/+page.svelte index c323f9bd..7cf7e2cb 100644 --- a/src/routes/(static)/docs/+page.svelte +++ b/src/routes/(static)/docs/+page.svelte @@ -162,8 +162,23 @@ </p> <Code sample="fetchInvoice" /> + <h2 class="text-2xl">POST /lightning/quote</h2> + <p class="text-secondary"> + Find out what a lightning payment will cost before sending it. The routing + fee comes from querying the route ahead of time and is exact; pass it as + <b>fee</b> to POST /payments. Pass <b>amount</b> for an amountless invoice, + or <b>max</b> to solve for the largest amount whose amount + fees uses the + whole balance. + </p> + <Code sample="quote" /> + <p>Sample response</p> + <Code sample="quoteResponse" /> + <h2 class="text-2xl">POST /payments</h2> - <p class="text-secondary">Send a lightning payment</p> + <p class="text-secondary"> + Send a lightning payment. <b>fee</b> caps the routing fee; if omitted, the + route is quoted and the exact fee used. + </p> <Code sample="lightning" /> <p class="text-secondary">Send an internal payment to another user</p> |
