LNBits JS API
Easy way to add LNBits API to your JS application.
References
Donate
Help me to stack sats! :blush:
donate via Lightning Network!
Features
Installation
Using npm:
$ npm install lnbits-ts
Using yarn:
$ yarn add lnbits-ts
Usage
Initial Configuration
const LNBits = require("lnbits-ts").default;
import LNBits from "lnbits-ts";
const { wallet, userManager, paywall, withdraw, paylink, tpos } = LNBits({
adminKey: "d00265e7de5f44f59b2408d9f0564181",
invoiceReadKey: "23e34be59d57408688a74500a3f24f03",
endpoint: "https://lnbits.com",
});
Wallet
Wallet Details
[ Example ] [ top ]
const walletDetails = await wallet.walletDetails();
console.log(walletDetails);
Create Invoice
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {number} params.amount
- {string} params.memo
- {boolean} params.out
const newInvoice = await wallet.createInvoice({
amount: 10,
memo: "test",
out: false,
});
console.log(newInvoice);
Pay Invoice
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.bolt11
- {boolean} params.out
const newPayInvoice = await wallet.payInvoice({
bolt11: "",
out: true,
});
console.log(newPayInvoice);
Check Invoice
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.payment_hash
const checkinvoice = await wallet.checkInvoice({
payment_hash: "...",
});
console.log(checkinvoice);
User Manager
Get Users
[ Example ] [ top ]
const users = await userManager.getUsers();
console.log(users);
Get Wallets
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.user_id
const wallets = await userManager.getWallets({
user_id: "355c5110bed24744bebb12aecf8fad14",
});
console.log(wallets);
Get Transactions
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.wallet_id
const tx = await userManager.getTransactions({
wallet_id: "4a18ae4b204044069bd349a37ba0be1d",
});
console.log(tx);
Create User
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.admin_id
- {string} params.user_name
- {string} params.wallet_name
const user = await userManager.createUser({
admin_id: "355c5110bed24744bebb12aecf8fad14",
user_name: "user",
wallet_name: "wallet",
});
console.log(user);
Delete User
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.user_id
const userDeleted = await userManager.deleteUser({
user_id: "b7cab6e3744347f2b6516510f5d40e9d",
});
console.log(userDeleted);
Delete Wallet
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.wallet_id
const walletDeleted = await userManager.deleteWallet({
wallet_id: "0d52c8a832f84f9b86bd993b985e6f10",
});
console.log(walletDeleted);
Active Extension
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.userid
- {string} params.extension
- {boolean} params.active
const extension = await userManager.activeExtension({
userid: "355c5110bed24744bebb12aecf8fad14",
extension: "usermanager",
active: true,
});
console.log(extension);
Paywall
Get Paywalls
[ Example ] [ top ]
const paywalls = await paywall.getPaywalls();
console.log(paywalls);
Create Paywall
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {number} params.amount
- {string} params.description
- {string} params.memo
- {boolean} params.remembers
- {string} params.url
const paywallNew = await paywall.createPaywall({
amount: 10,
description: "teste",
memo: "teste memo",
remembers: false,
url: "https://teste.com",
});
console.log(paywallNew);
Create Invoice
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {number} params.amount
- {string} params.paywall_id
const invoice = await paywall.createInvoice({
amount: 10,
paywall_id: "3UWoiHV7SYCytUjMfG8ySq",
});
console.log(invoice);
Check Invoice
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.paywall_id
- {string} params.payment_hash
const invoiceCheck = await paywall.checkInvoice({
paywall_id: "3UWoiHV7SYCytUjMfG8ySq",
payment_hash:
"e73dc54e857823b7c0bdd3faf6c0f6e8af2b07556fdc304cc8fe7c692a2562e8",
});
console.log(invoiceCheck);
Delete Paywall
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.paywall_id
const paywallDeleted = await paywall.deletePaywall({
paywall_id: "3UWoiHV7SYCytUjMfG8ySq",
});
console.log(paywallDeleted);
Withdraw
Get Links
[ Example ] [ top ]
const withdrawLinks = await withdraw.getLinks({
withdraw_id: "5o57EM9Qty5CLQB2QNjQ2p",
});
console.log(withdrawLinks);
Create Link
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.title
- {number} params.min_withdrawable
- {number} params.max_withdrawable
- {number} params.uses
- {number} params.wait_time
- {boolean} params.is_unique
const link = await withdraw.createLink({
title: "title",
min_withdrawable: 10,
max_withdrawable: 20,
uses: 10,
wait_time: 3600,
is_unique: false,
});
console.log(link);
Update Link
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.withdraw_id
- {string} params.title
- {number} params.min_withdrawable
- {number} params.max_withdrawable
- {number} params.uses
- {number} params.wait_time
- {boolean} params.is_unique
const linkUpdated = await withdraw.updateLink({
withdraw_id: "aaWVY3cu655xHxJpYLJhcA",
title: "title",
min_withdrawable: 10,
max_withdrawable: 20,
uses: 10,
wait_time: 3600,
is_unique: false,
});
console.log(linkUpdated);
Delete Link
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.withdraw_id
const linkDeleted = await withdraw.deleteLink({
withdraw_id: "aaWVY3cu655xHxJpYLJhcA",
});
console.log(linkDeleted);
TPoS
Get TPoS
[ Example ] [ top ]
const tposs = await tpos.getTPoS();
console.log(tposs);
Create TPoS
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.currency
- {string} params.name
const tposNew = await tpos.createTPoS({
currency: "usd",
name: "teste tpos",
});
console.log(tposNew);
Delete TPoS
[ Example ] [ top ]
Parameters:
- {Object} params - Params object.
- {string} params.tpos_id
const tposDeleted = await tpos.deleteTPoS({
tpos_id: "PCXNcLsoLSaBhUybxHfoCN",
});
console.log(tposDeleted);
Contributing
Pull requests are welcome! For major changes, please open an issue first to
discuss what you would like to change.
License MIT