Packages
@ckb-ccc/connector-react
React apps. Includes the
Provider component, useCcc and useSigner hooks, and the full built-in wallet connector UI.@ckb-ccc/shell
Node.js scripts and backend services. No browser APIs required. Use this for data analysis, transaction automation, or any server-side CKB work.
@ckb-ccc/connector
Web Component. A framework-agnostic wallet connector built as a custom HTML element. Use it in Vue, Svelte, vanilla JS, or any other web environment.
@ckb-ccc/ccc
Custom UI. All CKB primitives without any connector UI. Use this when you want to build your own wallet connection flow from scratch.
Install
Import pattern
All exports are available on theccc namespace object. This gives you a single, predictable import and clean autocompletion:
<package-name> with whichever package you installed. The shape of the ccc object is the same across all packages.
Advanced entry point
For advanced use cases where you need internal interfaces not exposed onccc, each package also exports a cccA namespace from the /advanced entry point:
TypeScript configuration
CCC uses Package Entry Points (exports field in package.json) to enable tree-shaking. TypeScript must be configured to resolve these exports.
Set moduleResolution in your tsconfig.json to one of:
node16nodenextbundler(recommended for most modern setups)
tsconfig.json
resolvePackageJsonExports — this option enables TypeScript to follow the exports field.
React Server Components
If you use React Server Components (for example, with Next.js App Router), the CCC connector UI can only run on the client side. Add"use client" at the top of any file that renders ccc.Provider or uses CCC hooks:
app.tsx