JavaScript Fiber RPC SDK
- The app selects the endpoint and transport
- The app may hold node credentials
- The API mirrors broad node operations
node.sendPayment({ invoice })Fiber moves value. Fiber WebLN defines how an untrusted web page may ask a user's wallet to move it—without receiving private keys, node credentials, or unrestricted RPC access.
const fiber = await requestProvider();
// This is a request to the user—not a command
// sent directly to an exposed node.
const result = await fiber.sendPayment(invoice);
// The provider owns permission, confirmation,
// credentials and node execution.Fiber moves the money.
Fiber WebLN governs how the web asks.The page never gets the keys.An RPC SDK helps trusted software command a known node. Fiber WebLN lets an untrusted page request narrowly defined capabilities from a user-controlled provider.
node.sendPayment({ invoice })fiber.sendPayment(invoice)RPC SDKs wrap node calls. Fiber WebLN standardizes the trust boundary between a web page and a user's wallet.
window.ckbfiber contains no node and no keys. The extension separates page code from authority, applies policy, and only then reaches a provider.
window.ckbfiberpostMessagecontent scriptpermission · confirmWASM or fnnThe site can initiate this sequence. It cannot skip a step.
The page calls sendPayment(invoice).
The isolated bridge attaches the page origin.
The background gate checks the site's session.
The extension shows origin, amount and invoice.
Only approval reaches the selected Fiber node.
The same dApp can move between a browser-embedded Fiber node and a remote fnn process. Custody and transport change; application calls do not.
fiber-js runs inside the extension's offscreen environment. Node execution and key material stay outside the page.
The extension talks to a configured fnn process. The page still receives neither its endpoint nor its credentials.
The project demonstrates real Fiber calls and a working permission flow. It is testnet-first and is not yet a production wallet security claim.
Explore the typed contract or switch between both live provider implementations.