1. Project Overview
-
Project Name: CellMint
-
One-Sentence Summary: A no-code token launchpad that lets anyone create, deploy, and manage xUDT fungible tokens on Nervos CKB through an intuitive wizard interface zero programming required.
-
Project Type: DApp (Web Application)
2. Team Profile
-
Core Member:
- devokindah β Full-Stack Developer & Project Lead
-
Background:
- Building fullstack applications
-
Contact Information:
-
Discord: (@mowsenia)
-
Email: ([email protected])
-
X: ( @mowsenia)
Problem: Creating tokens on Nervos CKB currently requires deep knowledge of the cell model, xUDT type scripts, transaction skeleton construction, and CCC SDK APIs. Even experienced developers face a steep learning curve let alone community organizers, hackathon teams, and non-technical founders who simply want to launch a token for their project.
Scenario: Imagine a hackathon team at a CKB event. Theyβve built a great DApp but need a utility token for in-app governance. Currently they must:
-
Read through the xUDT specification and understand type script args encoding
-
Set up a TypeScript project with CCC SDK
-
Construct a transaction with correct inputs, outputs
-
Handle wallet signing, fee estimation, and broadcast
-
Debug cell capacity issues and transaction failures
This 2β4 hour process discourages experimentation and slows ecosystem growth.
Ecosystem Relevance: The CKB ecosystem has strong infrastructure (CCC SDK, JoyID wallets, Fiber Network) but lacks an accessible token creation interface. EVM ecosystems have tools like Coin Launch, Remix, and TokenMint, CKB has nothing equivalent. CellMint fills this gap.
-
-
4. Solution
Core Solution: CellMint provides a 3-step wizard UI that abstracts all CKB-specific complexity:
-
Identity Step, Name, symbol, logo upload, description, social links
-
Economics Step, Total supply, decimals (with presets), owner address (auto-fill from wallet)
-
Review & Deploy, Preview token card, checklist, one-click deploy with animated progress
Under the hood, CellMint uses the CCC SDK (@ckb-ccc/connector-react) to:
-
Connect to JoyID, OKX, MetaMask, and other wallets via CCCβs unified interface
-
Construct xUDT type scripts from the creatorβs Lock Script hash
-
Build and sign deployment transactions with automatic input selection and fee handling
-
Query deployed tokens, balances, and transaction status via CKB RPC
User Perspective: A user visits the site β connects their wallet β fills in token details β clicks Deploy β sees an animated 5-phase progress indicator β receives a success screen with tx hash and explorer link. The entire process takes under 2 minutes.
Differentiation:
| Existing Approach | CellMint |
|---|---|
| Write TypeScript with CCC SDK | No-code wizard UI |
| Understand cell model & xUDT spec | Abstracted behind form fields |
| Manual transaction construction | Automatic input/output/fee handling |
| Single wallet support | Multi-wallet via CCC connector |
| No token management post-deploy | Dashboard with token list, detail view, management |
5. Technical Approach
Tech Stack:
-
Frontend: Next.js 16 (App Router), React 19, TypeScript 5, Tailwind CSS v4
-
State: Zustand (persisted), React Hook Form + Zod validation
-
Animation: Framer Motion
-
UI Primitives: Radix UI (dialog, dropdown, tabs, accordion, select, switch, toast)
-
Blockchain SDK:
@ckb-ccc/core,@ckb-ccc/connector-react -
Networks: CKB Testnet (
testnet.ckbapp.dev) / Mainnet (mainnet.ckbapp.dev)
Architecture Overview:
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Browser β
β βββββββββββββ ββββββββββββ ββββββββββββββββ β
β β Landing β βDashboard β β Wizard β β
β β Page β β Shell β β (3 Steps) β β
β βββββββββββββ ββββββββββββ ββββββββ¬ββββββββ β
β β β
β ββββββββββββββββββββββββββββββββββββββΌββββββββ β
β β CCC Connector React β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Provider β β useSignerβ β useCcc β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β ββββββββββββββββββββββββ¬ββββββββββββββββββββββ β
β β β
βββββββββββββββββββββββββββΌβββββββββββββββββββββββββ
β JSON-RPC
βββββββββββββββββββββββββββΌβββββββββββββββββββββββββ
β CKB Node (Testnet/Mainnet) β
β ββββββββββββ ββββββββββββ ββββββββββββββββ β
β β xUDT β β Cell β β Transaction β β
β β Script β β Indexer β β Pool β β
β ββββββββββββ ββββββββββββ ββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
Key Technical Challenges:
-
Transaction Construction: xUDT token creation requires precise encoding β 16-byte LE u128 for amounts, correct type script args (lock hash +
"00000000"), and proper cell_deps. Solution: Wrap CCC SDK methods into a clean service layer that handles all encoding automatically. -
Wallet Interoperability: Different wallets have different connection protocols. Solution: CCC connector-react provides a unified
signerabstraction β we useccc.useSigner()and it works across JoyID, OKX, MetaMask etc. -
Token Metadata Storage: xUDT cells donβt store name/symbol/decimals on-chain β only the amount. Solution: Store metadata in localStorage (persisted via Zustand) for MVP. Future: use UniqueType cells or on-chain metadata extensions.
-
Fee Estimation & Capacity Management: Users need CKB for cell capacity. Solution: CCCβs
completeInputsByCapacity()andcompleteFeeBy()handle this automatically. Display CKB balance and estimated fees in the UI.
6. To-Do List
Week 1: CCC SDK Integration
-
Install
@ckb-ccc/coreand@ckb-ccc/connector-react -
Replace mock wallet connection with CCC provider + signer
-
Implement real wallet connect/disconnect flow
-
Test with JoyID on CKB Testnet
Week 2: Token Deployment (Core Flow)
-
Implement xUDT token deployment using CCC SDK
-
Transaction construction: type script, outputs, outputsData, cell_deps
-
Handle input selection, fee estimation, and signing
-
Animated deployment progress with real tx hash polling
Week 3: Token Management & Dashboard
-
Query deployed tokens via cell indexer
-
Token detail page with balance, holders, tx history
-
Transfer tokens between addresses
-
Mint additional tokens (if owner)
Week 4: Polish, Testing & Documentation
-
End-to-end testing on Testnet with real wallets
-
Error handling: insufficient balance, failed tx, network issues
-
UI polish: loading states, error toasts, responsive design
-
Documentation: README, setup guide, architecture doc
-
MVP Live Demo, full token creation and management flow.
7. Required Funding & Funding Breakdown
A. Required Funding: $900
B. Funding Breakdown:
| Week | Category | Amount | Purpose |
|---|---|---|---|
| 1 | Technical | $250 | CCC SDK integration, wallet connection, project scaffolding |
| 2 | Technical | $250 | xUDT deployment logic, transaction construction, signing flow |
| 3 | Technical | $200 | Token management, dashboard, transfer/mint features |
| 4 | Technical and Community | $200 | Testing, documentation, demo preparation |
| Total | $900 |
Justification: This is a single-category technical project focused on frontend DApp development with CCC SDK integration. The $900 budget covers 4 weeks of focused development, testing infrastructure, and documentation. The scope is well-defined,a web-based token creation wizard, with a clear tech stack and established SDK, keeping costs manageable.
8. Deliverables and How to Verify
A. Deliverables:
| Deliverable | Acceptance Criteria | |
|---|---|---|
| 1 | Deployed web app on Vercel | Accessible at a public URL, all pages functional |
| 2 | GitHub repository with full source | Clean code, working build, MIT license |
| 3 | Working xUDT token deployment | User can create a token via wizard, tx confirmed on Testnet explorer |
| 4 | Wallet integration (multi-wallet) | Connect/disconnect with JoyID, OKX, MetaMask via CCC |
| 5 | Token dashboard | List deployed tokens, view detail, copy tx hash |
| 6 | Token transfer capability | Send tokens between addresses, verify on explorer |
| 7 | Documentation | README with setup instructions, architecture overview |
B. How to Verify:
| Deliverable | Verification Steps | Expected Output | Environment |
|---|---|---|---|
| Web App | Visit the Vercel URL | Landing page loads, all routes navigable | Any browser |
| Token Deployment | Connect wallet β Create Token β fill form β Deploy | Tx hash displayed, token appears on CKB Testnet Explorer with correct type script | Browser and Testnet wallet with CKB |
| Wallet Connect | Click βConnect Walletβ β select JoyID/OKX | Wallet popup appears, address shown in UI | Browser with wallet extension |
| Token List | Navigate to /dashboard/tokens | Mock and newly created tokens displayed with status badges | Browser |
| Transfer | Go to token detail β manage β transfer | Tx confirmed on explorer, recipient balance updated | Browser + two wallets |
| Repository | Clone repo β npm install && npm run build |
Build succeeds with no errors | Node.js 18+ |
| Documentation | Read README | Clear setup steps, architecture diagram | Any |
Non-Code-Review Verification: All deliverables can be verified by visiting the deployed URL, connecting a wallet, performing token operations, and checking transaction hashes on the CKB Testnet Explorer, no code review required.
9. Current State vs. Funded Work
Current State (Completed):
-
Full UI component library: landing page (7 components), dashboard shell (sidebar, topnav, stats cards, token cards), token creation wizard (3 steps, deploy animation and success screen)
-
Zustand state management with localStorage persistence
-
Zod form validation schemas
-
Mock wallet connection and mock token deployment
-
Dark theme with Framer Motion animations
-
TypeScript, Next.js 16, Tailwind CSS v4 project setup
-
All routes wired and building successfully
Funded Work (Delta):
-
CCC SDK integration (replace mock wallet with real wallet connection)
-
Real xUDT token deployment via CCC SDK
-
Real token querying via CKB cell indexer
-
Token transfer functionality
-
Error handling for on-chain failures (insufficient capacity, tx rejected)
-
CKB balance display and fee estimation
-
End-to-end testing on Testnet
-
Documentation and demo preparation
10. CKB Alignment
Connection Points:
-
xUDT Token Standard: CellMint directly implements xUDT token creation, the fungible token standard on CKB. The core deployment flow constructs xUDT type scripts using the creatorβs Lock Script hash as the token identity.
-
Cell Model: All token operations work with CKBβs UTXO-based cell model. Token amounts are encoded as 16-byte LE u128 in cell data. Deployment creates new cells with xUDT type scripts.
-
CCC SDK Integration: Uses
@ckb-ccc/connector-reactfor wallet connection and@ckb-ccc/corefor transaction construction, aligning with the official CKB TypeScript SDK ecosystem. -
Multi-Wallet Support: Leverages CCCβs unified wallet interface to support JoyID, OKX, MetaMask, and other wallets, promoting CKBβs wallet ecosystem.
-
CKB Testnet: All development and testing targets CKB Testnet (
testnet.ckbapp.dev), encouraging developers to experiment risk-free before deploying to mainnet.
Honest Declaration: CellMint is fundamentally a CKB-native DApp. It cannot exist on any other blockchain, the xUDT standard, cell model, type scripts, and CCC SDK are all CKB-specific. The entire value proposition is making CKBβs token creation accessible to non-developers.