NewFiber payments are live on CKB testnet

Onboard anyone to CKB with an email address.

Give every user a CKB account the moment they sign in with email. No seed phrases or extensions, and Fiber payments built in.

Open source under MIT. React SDK on npm.

For your users

From sign-in to first payment, without leaving your app.

They sign in with emailA one-time code, sent under your app's name. No passwords to store.
Their account is readyA real CKB address, recovered by email. Nothing to install or write down.
Payment sent4.50 CKB to Bottle CoffeeNetworkFiber, CKB testnetFee0.001 CKB
They pay over the Fiber NetworkLow-fee CKB payments through payment channels. The SDK opens the channel and pays the invoice, with no browser extension.

For your team

Three hooks. That's the integration.

Wrap your app in one provider, register your domains in the dashboard, and use the hooks wherever you need them.

useKeyWay
Sign in, sign out and session state.
useCkbWallet
Address, balance and a CCC signer, without starting Fiber.
useFiber
Connect, open channels, create and pay invoices.
Read the quickstart
app/wallet.tsx
import {
  KeyWayProvider, useKeyWay, useCkbWallet, useFiber,
} from "@ckb-keyway/react";

export function Providers({ children }) {
  return (
    <KeyWayProvider appId="keyway_8fK2mQ7xL1pVn4sR9tYc0bWd">
      {children}
    </KeyWayProvider>
  );
}

export function Checkout({ invoice }) {
  const { authenticated, login } = useKeyWay();
  const { balance } = useCkbWallet();
  const fiber = useFiber();

  if (!authenticated) return <button onClick={login}>Sign in</button>;
  return <button onClick={() => fiber.payInvoice(invoice)}>Pay</button>;
}

Run Fiber your way.

Every user gets their own Fiber node. Choose where it runs with one provider prop.

Managed nodeDefault

KeyWay runs a dedicated Fiber node for each user. It stays online, so payments can arrive while the app is closed.

  • Nothing runs in the user's browser
  • Encrypted node backups
  • KeyWay's host holds the node key
nodeMode="managed"
In-browser node

The node runs inside the user's tab with WebAssembly. Channel state stays on their device.

  • No node on our servers
  • Moves devices through an encrypted sign-out handoff
  • Online only while the tab is open
nodeMode="browser"

Security model

What protects your users, and what to know.

We publish exactly where keys live and who can act on them, including the limits of an early release.

Read the full security model

Built in

The CKB signing key lives in Lit's secure hardware and is never exported to your app.

Users approve every transaction before it's signed, and can require an emailed code for large transfers.

Fiber keys and node backups are encrypted at rest.

Each app has its own users, sessions and one-time codes.

Good to know

KeyWay's backend authorizes signing, and approvals appear inside your app's page. Lit doesn't yet verify the user on its own.

Managed nodes run on KeyWay's infrastructure, which holds their fiber keys.

Access to a user's inbox can recover their account until 2FA ships.

KeyWay runs on CKB testnet and has not been audited yet.

Under the hood

Standard CKB, end to end.

KeyWay accounts are ordinary secp256k1 lock addresses built with CCC. Inspect them in the CKB explorer like any other address, and pay any Fiber invoice on the network.

  1. Email codeA six-digit code, isolated per app.
  2. KeyWay accountOne permanent account per user, per app.
  3. Signing key in LitA secp256k1 key held in Lit's secure hardware.
  4. CKB addressckt1qzda0cr0…5kqg5uk4g
  5. Fiber nodeManaged or in the browser, started when you call connect().
  6. PaymentRouted over Fiber to any invoice on the network.

Roadmap

Now on testnet
  • Email sign-in with per-app isolation
  • CKB accounts and balances
  • Fiber channels and payments
  • Managed and in-browser nodes
  • Developer dashboard
Next
  • User verification enforced inside Lit
  • A second recovery factor
  • Independent security review
Exploring
  • Mainnet support
  • Inbound liquidity for new channels
  • Fiber keys the backend never sees

Start building on CKB testnet.

Register an app, add your domains and ship email sign-in today.