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
import {
walletAuth,
witnessData,
sporeSeal,
paymentSplit,
xudtPayment
} from "@scryve-tools/ckb-sdk";
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)