DEV Community

Scryve
Scryve

Posted on

@scryve-tools: Unified wallet auth and CKB utilities for TypeScript

For the last six months I’ve been building on Nervos CKB and repeatedly hitting the same low‑level plumbing issues:

  • Wallet auth flows for CKB, EVM, and BTC.
  • Witness encoding and xUDT math.
  • Spore NFT metadata and payment splitting.

Instead of writing the same glue code every time, I packaged it up into @scryve-tools — a set of TypeScript utilities that make CKB feel more like a “normal” Web3 SDK.

What’s in the package

Currently, @scryve-tools includes five focused packages:

  • @scryve-tools/ckb-wallet-auth

    Challenge‑response authentication for CKB, EVM, BTC, and JoyID wallets. It handles nonce stores, rate limiting, and OmniLock address derivation under a single interface.

  • @scryve-tools/ckb-witness-data

    Embed structured data into transaction witnesses at near‑zero capacity cost — about 2,000,000× cheaper than storing it in cells.

  • @scryve-tools/ckb-spore-seal

    Utilities for generating Spore NFT “DNA” from inputs and ensuring consistent metadata layout.

  • @scryve-tools/ckb-payment-split

    Splits payments and fees across multiple outputs in a clean, reusable way.

  • @scryve-tools/ckb-xudt

    Utilities for working with xUDT token amounts and balances.

If you prefer one big import, you can pull everything from a single bundle:

npm install @scryve-tools/ckb-sdk @ckb-ccc/core
Enter fullscreen mode Exit fullscreen mode
import {
  walletAuth,
  witnessData,
  sporeSeal,
  paymentSplit,
  xudtPayment
} from "@scryve-tools/ckb-sdk";
Enter fullscreen mode Exit fullscreen mode

Or install only what you need — each package is standalone and MIT‑licensed.

Why this exists

CKB’s Cell Model is powerful but also opaque compared with EVM‑style SDKs. The cell‑based UTXO model and custom lock scripts are flexible, but they also mean you end up wiring the same patterns over and over: how to sign, verify, encode, and account for tokens.

@scryve-tools’s mission is simple:

  • Reduce the “typing tax” when you’re already thinking about business logic.
  • Give CKB devs the same kind of small, focused utilities you get on EVM, but tuned to CKB’s cell‑based model.
  • Encourage reuse and consistent patterns across builders and platforms.

All of these utilities have been battle‑tested in the Scryve platform over the last several months before we split them out and open‑sourced them [1].

Who this is for

If you’re:

  • Building a CKB‑first dApp,
  • Adding Spore NFTs to an existing product,
  • Or experimenting with multi‑chain identity and payments,

@scryve-tools is designed to sit under your own UX layer rather than replace it. The focus is on the things that are boring and repetitive, so you can ship your actual product faster.

How to get started

  • Repo: github.com/scryve-tools
  • Install: npm install @scryve-tools/ckb-sdk @ckb-ccc/core

If you hit a rough edge, please open issues or PRs. The repo is MIT‑licensed, and the goal is for this to evolve collaboratively with the global dev community.

Top comments (0)