From 17cd5be19224f0b3cf1ea34239414fdfc819bfad Mon Sep 17 00:00:00 2001 From: Jeremy Klein Date: Tue, 17 Sep 2024 20:40:08 -0700 Subject: [PATCH] [NWC] Add get_budget command for per-connection budget limits. This separates the notion of budget from `get_balance` so that permissions can be more appropriately controlled by the wallet. Budgets can be configured by users like how Alby supports, and client apps can query their remaining budget and when it will renew next. Breaking out a separate command for this purpose means that a user can let a client app see their own remaining budget without giving the app access to see their entire wallet balance. --- 47.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/47.md b/47.md index 983d2c95..5581beeb 100644 --- a/47.md +++ b/47.md @@ -373,6 +373,33 @@ Response: } ``` +### `get_budget` + +Budgets can be used to limit the amount of funds that can be spent by a connection in a given time period. +Budgets are optional and can be set by the user if their wallet supports it. Support for this command indicates +that the wallet supports user-configured budgets. The budget will be reset at the `renews_at` timestamp. + +Request: +```jsonc +{ + "method": "get_budget", + "params": { + } +} +``` + +Response: +```jsonc +{ + "result_type": "get_budget", + "result": { + "remaining_budget_msats": 10000, + "total_budget_msats": 100000, + "renews_at": 1693876973, // timestamp in seconds since epoch + } +} +``` + ### `get_info` Request: