[Update] CKB Light Client on Mobile

Hi everyone, Jr. here again :waving_hand:
This is a follow-up to my November 2025 post: Bringing CKB Light Client to Mobile Devices.

In that post, I outlined several blockers preventing a practical mobile light client. I’m excited to share a meaningful update: we now have a working Android light client.

What Changed

With recent upstream work from the Nervos team
i) Native App Support: Adds a native Android app support for CKB Light Client with direct JNI integration.

ii) Abstracting the storage layer, we were able to replace the RocksDB backend with SQLite (via rusqlite) without changing the light client’s core logic.

This turned out to be an excellent fit for mobile.


Current State

We now have a working Android “pocket light client” with the following scope:

  • Network:
    Connects directly to CKB Mainnet P2P.

  • Sync:
    Syncs headers and tracked scripts using the SQLite-backed store.

  • Persistence:
    State is fully persisted and restored across app restarts.

  • Performance:
    On real Arm64 devices (Wi-Fi, fresh install), we observe noticeable sync progress within minutes and steady catch-up toward the tip. This is still being profiled and optimized.

This is not yet a “full mobile node replacement,” but it is a practical, on-device light client suitable for wallet-style use cases.


Testing & Availability

The app is currently available via Firebase App Distribution (if you need access, you can send me your email) for early testers.
We’re preparing an open testing release on Google Play next to remove the need for manual APK installs.

Early feedback (thanks @linguopeng :folded_hands:) has already been helpful in polishing UX and stability; if you have any feedback, please don’t hesitate to reach out.


Closing Thoughts

This work wouldn’t have been possible without the upstream changes from the Nervos team. Huge thanks for that support.

From my perspective, this validates an important point from the earlier discussions:

A mobile-ready CKB light client is feasible, and I’ll love to see how far this can go.

Looking forward to more feedback and discussion.

21 Likes

one thing that we found with quantum purse is that the sync delay can be avoided by assuming a new wallet, this would be the case for any new user to CKB, so this target group would have an instantaneous experience.

The “set start block” parameter can be set for imported wallets (i have noticed with other apps they will ask for an approximate date to start the sync)

Incredible work seeing this through to get the light client working on Android, really looking forward to where things go from here!

9 Likes

@matt_ckb ⁣This feature is built in already. Both the “set custom block height” and fresh start for new users

5 Likes

Amazing development :star_struck:.

Is transaction speed similar to Neuron Wallet on a PC?

2 Likes

Yes it is @Blimp . There’s currently a proposal for this right now; check it out

3 Likes