Core Packages
Foundational packages — core primitives, aggregated entry points, and wallet connectors.
The Core Packages are the backbone of CCC. They provide the CKB primitives every higher-level package depends on, plus the aggregated entry points and connectors most applications consume directly.
Most projects only need one of these packages as their entry point. Pick by environment: @ckb-ccc/shell for Node.js, @ckb-ccc/connector-react for React apps, @ckb-ccc/connector for any other browser framework, or @ckb-ccc/ccc when you want every wallet bundled and plan to build a fully custom UI.
| Package | Environment | Includes | Use when |
|---|---|---|---|
@ckb-ccc/core | Any | CKB primitives only | You're authoring a library or want minimal footprint |
@ckb-ccc/shell | Node.js | core + spore + udt + ssri | Backend scripts, indexers, server-side transactions |
@ckb-ccc/ccc | Browser | core + all wallet signers + protocol SDKs | Custom wallet UI in any browser app |
@ckb-ccc/connector | Browser | Web Component connector UI | Vanilla JS / Vue / Svelte / Angular apps |
@ckb-ccc/connector-react | Browser (React) | Provider, useCcc, useSigner | React or Next.js apps |
Layering
Every package re-exports its dependencies on the same ccc namespace, so application code only ever imports from a single entry point:
import { ccc } from "@ckb-ccc/connector-react"; // or shell / ccc / coreChoosing an entry point
- Building a React dApp? Start with
@ckb-ccc/connector-react— it gives you a ready-made wallet selection modal plus hooks. - Building with another browser framework? Use
@ckb-ccc/connectorand drop the<ccc-connector>Web Component into your page. - Need a custom wallet UI? Use
@ckb-ccc/cccfor full control over connection flow. - Running in Node.js? Use
@ckb-ccc/shell— it ships CommonJS / ESM builds without browser-only wallet code. - Authoring a library? Depend on
@ckb-ccc/coreonly and let consumers pick their own entry point.
CCC Package Guide
A complete overview of every NPM package in CCC. Choose the right package based on your runtime environment, framework, and feature requirements — covering the core SDK, wallet integrations, protocol extensions, and more.
@ckb-ccc/ccc
All-in-one browser bundle — core primitives, all wallet signers, and protocol SDKs in a single ccc namespace.