Link to VOT page: https://dao.ckb.community/landing?method=share&thread=67494&refer_id=51416
1. Summary
This proposal requests a grant to complete and launch Pocket Node, a mobile-first light wallet for Nervos CKB that enables users to securely manage CKB directly from their Android devices. Unlike existing solutions that depend on remote RPC nodes, Pocket Node embeds the official CKB Light Client natively via Java Native Interface (JNI), giving users true self-sovereignty while maintaining mobile performance.
The wallet features secure on-device key management (private keys never leave the device), full transaction lifecycle support, QR code scanning, flexible sync modes, and a modern Material 3 UI built with Jetpack Compose.
The project has already delivered a functional wallet (v1.0.1) and seeks funding to complete mainnet readiness, implement BIP39 mnemonic support, add biometric authentication, and add more features.
Grant Amount Requested: $15,000 USD (payable in CKB)
ETA to Completion: 4 months after approval
CKB Wallet / Funding Address: To be provided
2. Project Introduction
What problem are you solving?
The Nervos CKB ecosystem currently lacks a mobile wallet solution that combines:
-
True self-custody: Most mobile wallets rely entirely on remote RPC nodes, creating trust dependencies and potential single points of failure
-
Embedded light client: No existing CKB mobile wallet runs the official light client directly on-device
-
Native Mobile Experience: Current CKB wallet options are primarily web-based or desktop-focused; Pocket Node is built from the ground up as a native Android application using Jetpack Compose and Material 3, providing the responsive, intuitive experience mobile users expect.
Pocket Node addresses all three by embedding the official CKB Light Client via JNI directly into an Android application. This means users can verify their state without trusting any third-party infrastructure while enjoying a polished, native mobile experience.
Why Now?
-
Light Client Maturity: The official CKB Light Client (RFC 44/45) has reached stability, making embedded mobile integration viable
-
JNI Bridge Complete: We’ve successfully bridged the Rust light client to Android via JNI, proving technical feasibility
-
Mobile-First Era: Most crypto users interact primarily through mobile devices; CKB needs competitive mobile tooling
3. Team & Roles
Jr (@Jnr6)
Role: Lead Developer
Background:
Senior mobile software developer with 4+ years of professional Android/Kotlin experience. Led mobile teams at Nexatrode (2021–2024) building disaster recovery and ML-powered language learning apps.
Most recently at MonarkTek IO (2025) shipped an AI-powered app that connects service providers to clients with on-device ML models, sentiment analysis, and social features. Experienced in embedding ML/native code directly into mobile apps, the same approach was used for this project’s JNI light client integration.
Motivation for building on CKB:
CKB’s design around verification, flexibility, and decentralization aligns strongly with the idea of empowering end-users to run verifiable clients directly on their personal devices, and I have been a member of the CKB community for 5+ years (2021).
4. Current Status
-
Research completed on the feasibility of running CKB Light Client on Android
-
Prototype implemented:
-
Light client runs on real Android devices (Arm64)
-
Connects to CKB Mainnet P2P network
-
Syncs headers and tracked scripts
-
Persists state across app restarts
-
-
Storage backend migrated from RocksDB to SQLite
-
Binary size and build complexity significantly reduced
-
Early testing distributed via Firebase App Distribution (open testing on Play Store soon)
-
Feedback received from early testers in the CKB community
This is a working prototype, not yet a polished production release.
Ps: Screenshot below
Planned features
-
BIP39 Mnemonic Support: Secure seed phrase generation, backup, and recovery flow.
-
Biometric Authentication: Fingerprint/face unlock with PIN/password fallback.
-
Mainnet Support: Production-ready mainnet configuration and comprehensive testing.
-
Nervos DAO Integration: Deposit/withdraw CKB, track compensation, view APY, and unlock timers.
-
Multi-Wallet Management: Create, import, and switch between multiple wallets with labels.
-
Transaction Export: Export transaction history and backup features.
-
Advanced Balance Tracking: Analytics and detailed balance visualization.
-
Address Book & Labels: Save contacts, label addresses, and add transaction notes.
5. Application Design
5.1 Functional Overview
Key Actions:
-
Wallet Creation/Import—Generate random private key or import existing hex
-
Balance Check — Query embedded light client for cell balance
-
Send Transaction — Build transaction locally, sign on-device, broadcast via light client
-
Receive — Display address with QR code for scanning
-
Monitor — Track transaction confirmations and node sync status
On-chain vs Off-chain:
-
On-chain: All transactions, cell data, balance verification
-
Off-chain: Key storage (EncryptedSharedPreferences), UI state, user preferences
5.2 Architecture & Design
Core components:
-
CKB Light Client core (Rust)
-
SQLite storage backend
-
Android NDK / JNI bridge
-
Android app
Key CKB features used:
-
Light client protocol
-
Script-based indexing
-
Standard P2P networking
All core components are intended to be open-sourced, with clear separation between:
-
protocol logic
-
storage
-
platform-specific bindings
5.3 Design Rationale
Why embedded light client instead of remote RPC?
We chose an embedded light client because:
-
Self-sovereignty — Users verify their state without trusting third parties
-
Resilience — No dependency on external infrastructure
-
Privacy — No external server sees your queries
-
CKB Philosophy Alignment — Matches CKB’s emphasis on true ownership
Security Considerations:
-
Private keys encrypted with AES256-GCM via Android Keystore
-
Keys never transmitted; all signing happens locally
-
Even if the embedded node were compromised, funds remain safe (can only lie about state, cannot sign)
Trade-offs:
-
Higher storage requirement (5 MB for light client data based on current mainnet usage)
-
Initial sync time required (instant for new accounts, longer for accounts with existing history)
-
Battery usage during active sync
5.4 Fee Model & Sustainability
This project is infrastructure-focused and does not introduce fees directly.
Sustainability paths include:
-
Adoption by wallet teams
-
Integration into developer tooling
-
Follow-up grants for maintenance or extensions
-
Potential sponsorships from ecosystem projects
6. Key Benefits for CKB
-
Mobile decentralization: Enables users to verify CKB data directly on their phones and interact directly with the p2p network with no additional trust assumptions
-
Developer enablement: Wallet and app developers can build mobile apps without centralized RPC dependencies
-
Ecosystem growth: Unlocks new mobile-first use cases (wallets, games, P2P apps)
-
Infrastructure improvement: Demonstrates a viable path for mobile light clients and mobile-native applications on CKB
-
True Self-Custody: Demonstrates CKB’s self-sovereign principles with embedded verification
Long-term vision: Thousands of lightweight “pocket nodes” enabling self-sovereign verification for mobile users, reducing dependency on centralized infrastructure providers while providing a seamless native mobile experience.
7. Detailed Deliverables & Milestones.
The funding covers 4 months of focused delivery across four clear phases. An initial 10% down payment is received at the commencement of the grant. The app will be updated on the Google Play Store and alternative distribution channels (GitHub Releases, F-Droid) every two weeks to ensure continuous delivery and community feedback integration.
Milestone 1: Mainnet Ready & Hardware-Backed Security (Month 1) — 22.5% of grant
-
Production Configuration: Complete mainnet network support with production-grade cell dependencies and bootnode configurations.
-
BIP39 Secured by TEE: Implement BIP39 mnemonic generation with encryption keys stored in Android’s Hardware-backed Keystore (TEE/StrongBox) to ensure the seed never leaves the device’s secure enclave.
-
Biometric & Fallback: Deployment of Android BiometricPrompt for fingerprint/face unlock, with a dedicated PIN/password fall-back mechanism.
-
Verification: Comprehensive testing on mainnet with real transactions and failure-state handling (e.g., interrupted sync recovery).
-
Releases: v1.1.0 (Week 2), v1.2.0 (Week 4)
Milestone 2: Nervos DAO Protocol Integration (Month 2) — 22.5% of grant
-
DAO Transaction Builder: Develop or extend the transaction builder logic to handle specialized DAO outputs (Deposit, Withdrawal, Unlocking) currently missing from standard JNI interfaces.
-
DAO Lifecycle Management: Build the withdrawal flow handling the complex two-phase unlock process (withdraw → wait for maturity → unlock).
-
In-App Economics: Implement real-time compensation tracking and APY calculation by querying header information for maturing deposits.
-
Visualization: Build the DAO dashboard showing lock countdown timers and maturity status.
-
Testing with various deposit amounts and lock periods
-
Releases: v1.3.0 (Week 6), v1.4.0 (Week 8)
Milestone 3: Multi-Wallet and Sync Optimization (Month 3) - 22.5% of grant
-
Secure Multi-Account Storage: Build a modular storage architecture allowing users to manage, label, and switch between multiple independent key pairs.
-
SQLite Performance Tuning: Optimize the SQLite storage layer (indexing and batching) to handle increased script-filtering overhead caused by multiple concurrent wallets.
-
Advanced Analytics: Implement transaction export (CSV/JSON) and advanced balance tracking by indexing historic cell data.
-
Verification: Stress testing of the “Embedded Node” with multiple active script filters on mid-range Android hardware.
-
Releases: v1.5.0 (Week 10), v1.6.0 (Week 12)
Milestone 4: Address Book, Polish & Launch (Month 4) - 22.5% of grant
-
Security Review: Conduct an internal security audit focusing on JNI memory safety and Keystore implementation to eliminate potential vulnerabilities before public launch.
-
Identity & Contacts: Implement a local address book with custom labels and smart suggestion during the send flow.
-
App Store Excellence: Finalize UI/UX refinements based on beta feedback and optimize the Google Play Store listing (SEO, screenshots, localized descriptions).
-
Community Launch: Full documentation release (User Guide + Developer JNI Docs) and project completion report for the DAO.
-
Releases: v1.7.0 (Week 14), v2.0.0 Final (Week 16)
Post-Grant Maintenance Schedule
Following the v2.0.0 final release, a 3-month stabilization period is provided following this grant to ensure production stability.
-
All bug fixes related to features delivered in Milestones 1- 4
-
Address non-critical bugs and edge cases discovered during wider adoption
-
Performance optimization based on real-world usage patterns
-
Security patches as necessary
-
Urgent Android OS compatibility fixes
-
User support via GitHub issues and community channels
-
Emergency hotfixes for critical issues
-
Preparation of handoff documentation for long-term maintenance
-
End-of-grant report with stability metrics and recommendations
Not covered (requires future funding):
-
New feature development
-
Major architectural changes
-
Integration with new CKB protocol features
8. Budget Breakdown.
Total Request: $15,000 USD (payable in CKB)
The cost is broken down by milestone and reflects 4 months of developer work.
| Milestone | Amount |
|---|---|
| Grant Commencement (10%) | $1,500 |
| Milestone 1: Mainnet & Security | $3,375 |
| Milestone 2: Nervos DAO Integration | $3,375 |
| Milestone 3: Multi-Wallet and Sync Optimization | $3,375 |
| Milestone 4: Address Book, Polish & Launch | $3,375 |
| Total | $15,000 |
10. Out-of-Scope / Future Funding Needs.
The following items are not included in this proposal and will require separate follow-up proposals:
| Item | Notes |
|---|---|
| iOS version | Swift/SwiftUI implementation with the same feature set |
| Security audits | External audit of cryptographic code |
| Feature upgrades | UDT support, RGB++ support, CCC integration, CKB DID integration |
| Long term maintenance | Bug fixes, OS compatibility updates, etc. that are outside the maintenance period mentioned above following the final release. |
11. Risk & Mitigation.
| Risk | Mitigation |
|---|---|
| Light client stability issues | Close collaboration with Nervos team; fallback to gateway mode |
| Security vulnerabilities | Professional audit; proven libraries (CKB SDK, Android Keystore) |
| Google Play rejection | Follow all crypto wallet guidelines; prepare alternative distribution |
| Resource constraints | Clear milestones; scope management; community support |
| Low adoption | Focus on UX and community engagement; integrate with ecosystem apps |
| CKB network changes | Monitor upgrades; maintain compatibility layer |
12. Closing / Call to Action
Pocket Node represents an opportunity to bring true self-sovereign CKB access to mobile users. By embedding the official light client directly into an Android app, we’re building infrastructure that aligns with CKB’s core philosophy of ownership and verification.
The project has already demonstrated technical feasibility with a working wallet. This funding will enable us to complete mainnet readiness, implement industry-standard security features (BIP39, biometrics), and conduct a thorough testing before public launch.
I believe mobile accessibility is crucial for CKB’s growth, and I’m committed to delivering a wallet that the community can be proud of.
I welcome your questions, feedback, and suggestions. Thank you for considering this proposal!
1. 标题
[DIS] 面向安卓系统的移动端就绪型CKB轻客户端(“Pocket Node”)
2. 摘要
本提案申请资助以完成并发布Pocket Node——一款专为Nervos CKB设计的移动优先轻钱包,支持用户直接通过安卓设备安全管理CKB。与依赖远程RPC节点的现有方案不同,Pocket Node通过Java本机接口(JNI)原生嵌入官方CKB轻客户端,在保持移动端性能的同时赋予用户真正的自主权。
该钱包具备设备端安全密钥管理(私钥永不离机)、完整交易生命周期支持、二维码扫描、灵活同步模式,并采用Jetpack Compose构建的现代Material 3界面。
项目已交付功能版钱包(v1.0.1),现寻求资金支持以完成主网就绪准备、实现BIP39助记词支持、添加生物识别认证及扩展更多功能。
申请资助金额:15,000美元(以CKB支付)
预计完成时间:获批后4个月
CKB钱包/资金地址:待提供
3. 项目介绍
您要解决什么问题?
Nervos CKB生态系统目前缺乏兼具以下特性的移动钱包解决方案:
真正的自主保管——多数移动钱包完全依赖远程RPC节点,形成信任依赖关系并存在潜在单点故障风险
内置轻量客户端——现有CKB移动钱包均未在设备端直接运行官方轻量客户端
原生移动体验——现有CKB钱包方案多为网页端或桌面端;Pocket Node采用Jetpack Compose与Material 3从零构建为原生安卓应用,提供移动用户期待的响应式直观体验。
Pocket Node通过JNI将官方CKB轻客户端直接嵌入Android应用,同时解决上述三大痛点。这意味着用户无需信任任何第三方基础设施即可验证自身状态,同时享受精良的原生移动体验。
为何选择此刻?
轻客户端成熟度——官方CKB轻客户端(RFC 44/45)已达稳定阶段,为嵌入式移动集成奠定基础
JNI桥接完成——我们成功通过JNI将Rust轻客户端与Android对接,验证技术可行性
移动优先时代——多数加密用户主要通过移动设备交互;CKB亟需具备竞争力的移动端工具
4. 团队与角色
Jr (@Jnr6)
角色:首席开发者
背景:
资深移动软件开发者,拥有4年以上专业Android/Kotlin开发经验。曾于Nexatrode(2021-2024)领导移动团队开发灾难恢复及机器学习驱动的语言学习应用。
近期任职于MonarkTek.IO(2025),成功发布基于AI的应用程序,通过设备端机器学习模型、情感分析及社交功能连接服务提供商与客户。擅长将机器学习/原生代码直接嵌入移动应用,此项目采用的JNI轻量级客户端集成即运用相同技术路径。
选择基于CKB构建的动机:
CKB围绕验证机制、灵活性与去中心化构建的设计理念,与赋能终端用户在个人设备上直接运行可验证客户端的愿景高度契合。本人作为CKB社区成员已逾五年(2021年至今)。
5. 当前进展
- 已完成CKB轻客户端在Android平台运行的可行性研究
** 原型实现:**
-
轻客户端可在真实Android设备(Arm64架构)运行
-
连接至CKB主网P2P网络
-
同步区块头与追踪脚本
-
支持应用重启后状态持久化
-
存储后端从RocksDB迁移至SQLite
-
二进制文件体积与构建复杂度显著降低
-
早期测试通过Firebase应用分发平台进行(即将开放Google Play商店测试通道)
-
已收集CKB社区早期测试者反馈 ##SC内容置于此处下方
此为可运行原型,尚未达到精炼的正式发布版本。
规划功能
- BIP39助记词支持:安全种子短语生成、备份及恢复流程。
- 生物识别认证:指纹/面部解锁,支持PIN/密码备用方案
- 主网支持:生产级主网配置与全面测试
- Nervos DAO集成:存取CKB、追踪补偿、查看年化收益率及解锁计时器
- 多钱包管理:创建、导入并通过标签切换多个钱包。
- 交易导出:导出交易记录及备份功能。
- 高级余额追踪:数据分析与详细余额可视化。
- 地址簿与标签:保存联系人、标记地址及添加交易备注。
6. 应用程序设计
6.1 功能概述
核心操作:
- 钱包创建/导入——生成随机私钥或导入现有十六进制密钥
- 余额查询——通过内置轻客户端查询单元余额
- 发送交易——本地构建交易,设备端签名,通过轻客户端广播
- 接收交易——显示带二维码的地址供扫描
- 监控——追踪交易确认状态及节点同步状态
链上与链下:
- 链上:所有交易、单元数据、余额验证
- 链下:密钥存储(加密共享首选项)、界面状态、用户偏好
6.2 架构与设计
核心组件:
-
CKB轻客户端核心(Rust语言)
-
SQLite存储后端
-
Android NDK/JNI桥接
-
Android应用
核心CKB特性:
-
轻量级客户端协议
-
脚本化索引机制
-
标准P2P网络协议
所有核心组件均计划开源,并严格分离:
-
协议逻辑层
-
存储层
-
平台绑定层
6.3 设计依据
为何选择嵌入式轻客户端而非远程RPC?
我们选择嵌入式轻客户端基于以下原因:
- 自主主权——用户无需信任第三方即可验证自身状态
- 弹性——不依赖外部基础设施
- 隐私——外部服务器无法窥见您的查询
- 契合CKB理念——与CKB强调真实所有权的核心理念相契合
安全考量:
- 私钥通过Android密钥库采用AES256-GCM加密
- 密钥永不传输;所有签名操作均在本地完成
- 即使嵌入式节点遭入侵,资金仍安全无虞(攻击者仅能伪造状态,无法执行签名)
权衡因素: - 存储需求较高(基于当前主网使用情况,轻客户端数据需5MB)
- 初始同步耗时(新账户即时完成,有历史记录账户耗时较长)
- 主动同步期间耗电
6.4 费用模型与可持续性
本项目聚焦基础设施建设,不直接引入费用机制。
可持续性路径包括:
-
钱包团队的采用
-
集成至开发者工具链
-
后续维护或扩展的资助计划
-
生态项目潜在赞助
7. CKB的核心优势
-
移动去中心化:用户可在手机端直接验证CKB数据,无需额外信任假设即可直接与点对点网络交互
-
开发者赋能:钱包及应用开发者可构建无需中心化RPC依赖的移动应用
-
生态扩张:释放全新移动优先用例(钱包、游戏、点对点应用)
-
基础设施优化:为CKB上的移动轻客户端及原生移动应用开辟可行路径
-
真正自主保管:通过内置验证机制践行CKB的自主主权原则
长期愿景:数千个轻量级“口袋节点”为移动用户提供自主验证能力,减少对中心化基础设施的依赖,同时提供无缝的原生移动体验。
8. 详细交付成果与里程碑
本轮资助涵盖为期4个月的专项交付,分为四个明确阶段。项目启动时将收到10%的首付款。应用程序将每两周在Google Play商店及替代分发渠道(GitHub发布版、F-Droid)进行更新,以确保持续交付并整合社区反馈。
里程碑1:主网就绪与硬件级安全保障(第1个月)——拨款总额的22.5%
****生产环境配置:完成主网支持,包含生产级单元依赖关系及启动节点配置。
- TEE加密的BIP39:实现BIP39助记词生成,加密密钥存储于Android硬件级密钥库(TEE/StrongBox),确保种子密钥永不离开设备安全区域。
- 生物识别与备用方案:部署Android BiometricPrompt实现指纹/面部解锁,配备专用PIN/密码备用机制。
- 验证测试:在主网环境下进行真实交易全面测试及异常状态处理(如中断同步恢复)。
- 版本发布:v1.1.0(第2周),v1.2.0(第4周)
里程碑2:Nervos DAO协议集成(第2个月)——占资助总额的22.5%
- DAO交易构建器:开发或扩展交易构建器逻辑,以处理当前标准JNI接口中缺失的专用DAO输出(存款、取款、解锁)。
- DAO生命周期管理:构建取款流程,处理复杂的两阶段解锁过程 (提现→等待到期→解锁)。
- 应用内经济机制:通过查询即将到期存款的头部信息,实现实时补偿追踪与年化收益率(APY)计算。
- 可视化界面:构建显示锁仓倒计时与到期状态的DAO仪表盘。
- 测试场景:涵盖不同存款金额与锁仓周期
- 版本发布:v1.3.0(第6周),v1.4.0(第8周)
里程碑3:多钱包与同步优化(第3个月)——占资助总额的22.5%
- 安全多账户存储:构建模块化存储架构,支持用户管理、标记及切换多个独立密钥对。
- SQLite性能调优:优化SQLite存储层(索引与批处理),以应对多钱包并发运行导致的脚本过滤开销增加。
- 高级分析功能:实现交易导出(CSV/JSON)及通过索引历史单元数据实现高级余额追踪。
- 验证环节:在中端安卓硬件上对搭载多个活跃脚本过滤器的“嵌入式节点”进行压力测试。
- 版本发布:v1.5.0(第10周),v1.6.0(第12周)
里程碑4:通讯录功能完善与上线(第4个月)——占资助总额的22.5%
- 安全审查:开展内部安全审计,重点检查JNI内存安全与密钥库实现,在公开发布前消除潜在漏洞。
- 身份与联系人:实现本地通讯录功能,支持自定义标签及发送流程中的智能建议。
- 应用商店优化:根据测试反馈完善UI/UX设计,优化Google Play商店页面(SEO、截图、本地化描述)。
- 社区发布:完整文档发布(用户指南+开发者JNI文档)及DAO项目完成报告。
- 版本发布:v1.7.0(第14周),v2.0.0最终版(第16周)
项目终止后维护计划
v2.0.0最终版本发布后,本项目将提供为期3个月的稳定期以确保生产环境稳定性:
- 修复里程碑1-4阶段所有功能相关的缺陷
- 处理大规模应用中发现的非关键缺陷与边界案例
- 基于实际使用模式进行性能优化
- 必要的安全补丁
- 紧急Android系统兼容性修复
- 通过GitHub问题跟踪与社区渠道提供用户支持
- 关键问题的紧急热修复
- 长期维护的交接文档准备
- 包含稳定性指标与建议的项目终期报告
未涵盖内容(需后续资金支持):
- 新功能开发
- 重大架构变更
- 与CKB协议新功能的集成
9. 预算明细
总申请金额: 15,000美元(以CKB支付) 成本按里程碑划分,涵盖4个月的开发工作。
| 里程碑 | 金额 |
|---|---|
| 资助启动(10%) | 1,500美元 |
| 里程碑1:主网与安全 | 3,375美元 |
| 里程碑2:Nervos DAO集成 | 3,375美元 |
| 里程碑3:多钱包与同步优化 | 3,375美元 |
| 里程碑4:通讯录功能、完善与上线 | 3,375美元 |
| 总计 | 15,000美元 |
10. 范围外/未来资金需求
下列事项未包含在本提案中,需另行提交后续提案:
| 项目 | 备注 |
|---|---|
| iOS版本 | 采用Swift/SwiftUI实现,功能与当前版本一致 |
| 安全审计 | 加密代码外部审计 |
| 功能升级 | UDT支持、RGB++支持、CCC集成、CKB DID集成 |
| 长期维护 | 最终版本发布后超出上述维护期范围的漏洞修复、操作系统兼容性更新等。 |
- 风险与缓解措施
|风险|缓解措施|
| — | — |
|轻客户端稳定性问题|与 Nervos 团队紧密协作;切换至网关模式|
|安全漏洞|专业审计;采用经过验证的库(CKB SDK、Android Keystore)|
|Google Play审核失败|遵循所有加密钱包指南;准备替代分发方案|
|资源限制|明确里程碑;范围管理;社区支持|
|采用率低|聚焦用户体验与社区互动;与生态系统应用集成|
|CKB网络变更|监控升级;维护兼容性层|
12. 结语/行动号召
Pocket Node 为移动用户提供了真正自主掌控CKB的契机。通过将官方轻量级客户端直接嵌入安卓应用,我们正在构建与CKB核心理念——所有权与验证机制——相契合的基础设施。
该项目已通过可运行的钱包验证了技术可行性。本轮融资将助力我们完成主网就绪准备,实现行业标准安全特性(BIP39、生物识别),并在公开发布前进行全面测试。
我坚信移动端可及性对CKB发展至关重要,并致力于打造令社区引以为傲的钱包产品。
欢迎提出问题、反馈与建议。感谢您审阅本提案!
Images:




