Blockchain interoperability is one of the most sought-after advancements in the decentralized ecosystem. The ability to use familiar Bitcoin wallets—such as UniSat and OKX Wallet—to interact with assets on alternative chains significantly lowers entry barriers for users. This article explores a proof-of-concept (PoC) project that enables Bitcoin wallet integration with the Nervos Network’s CKB (Common Knowledge Base), allowing users to send and receive CKB tokens using standard BTC addresses.
The project, known as CKB UniSat PoC, demonstrates how browser-based Bitcoin wallets can be adapted to function seamlessly on CKB testnet. By leveraging existing wallet infrastructure, this initiative enhances cross-chain accessibility without requiring users to adopt new tools or seed phrases.
🔧 Project Overview
The CKB UniSat PoC consists of two core components:
./dapp: A demo web interface that allows users to transfer CKB assets on the testnet using supported Bitcoin wallets../lock: An on-chain CKB lock script already deployed on the testnet, responsible for validating transactions initiated from BTC wallets.
This setup enables users to utilize their UniSat or OKX Wallet not only for Bitcoin but also for interacting with CKB-based applications—bridging two major ecosystems through a unified identity layer.
🛠️ How to Use with UniSat Wallet
To get started with UniSat integration, follow these steps:
- Install UniSat Wallet from the official website.
Restore test accounts using the following mnemonic phrases (pre-funded with testnet CKB):
cousin minimum crazy knock electric curve inflict acid neck gift castle slushsoup butter loud convince rabbit horn salute clump still amount immune sustain
- Choose an address format: Native Segwit, Nested Segwit, Legacy, or Taproot (P2TR).
Launch the web UI:
cd dapp && npm install && npm run uiWalletUnisat
⚠️ Note on Taproot (P2TR) Support: While Taproot addresses can be used to spend CKB, they are not fully compatible due to signature limitations. When sending to a Taproot address, users must use the generated Native Segwit address displayed in the UI instead of the wallet’s native Taproot address.
🛠️ How to Use with OKX Wallet
OKX Wallet users can follow a nearly identical process:
- Download and install OKX Wallet.
Restore the same test accounts using the provided mnemonics:
cousin minimum crazy knock electric curve inflict acid neck gift castle slushsoup butter loud convince rabbit horn salute clump still amount immune sustain
- Select your preferred BTC address format.
Run the application:
cd dapp && npm install && npm run uiWalletOkx
Same caveat applies: Taproot addresses cannot be directly used as receiving addresses due to technical constraints in current wallet APIs.
🔍 Understanding the Taproot (P2TR) Address Limitation
One of the key challenges in integrating modern Bitcoin wallets with CKB lies in signature algorithm compatibility.
Current Findings:
- The
signMessageAPI in both UniSat and OKX Wallets only supports ECDSA (secp256k1) signatures. - Schnorr signatures, required for full Taproot functionality, are not supported.
When retrieving a public key via:
await unisat.getPubkey();The result is a 33-byte compressed ECDSA key:
028d7b778457ebbd11da8a7dddcb21c481d9223303835174b6ab81fd7f6d33553aSigning a message returns a 65-byte signature:
HPziNYdgXBQdozgHM10skbeJPu2WGyaW1P1H6i4XOok4AjDKjjqJf/b+qkvz6OuMIgre+O2g0ZX4KEDBbGXrcc4=After decoding, it confirms ECDSA usage (R + S + recovery ID), not pure 64-byte Schnorr.
Workaround Solution
Since native Taproot signing isn't supported, the project uses a fallback method:
let pubkey = unisat.getPublicKey();
let pubkey_hash = RIPEMD160(SHA256(pubkey));
let address = bech32_encode(pubkey_hash); // Native Segwit (P2WPKH) formatThis generates a bech32-encoded P2WPKH address derived from the same public key, ensuring compatibility with CKB's verification logic.
Thus, while users see a Taproot address in their wallet, the system internally maps it to a functional Native Segwit counterpart for receiving funds.
💡 Why This Matters: Core Benefits and Use Cases
This PoC unlocks several important possibilities:
- Familiarity: Users don’t need new wallets or keys—just their existing BTC setup.
- Lower Friction: No need to explain complex blockchain differences; actions feel native.
- Developer Flexibility: Builders can design dApps that accept payments from popular BTC wallets.
- Cross-Chain Identity: Establishes a model where BTC wallets serve as universal login and payment tools beyond Bitcoin L1.
Core Keywords: Bitcoin wallet integration, CKB, UniSat, OKX Wallet, Taproot support, cross-chain interoperability, Nervos Network, proof of concept
❓ Frequently Asked Questions (FAQ)
Q: Can I use any Bitcoin wallet with this PoC?
A: Currently, only UniSat and OKX Wallet are supported due to their standardized Web3-like APIs. Other wallets may require custom integration.
Q: Is my mainnet BTC at risk when using this?
A: No. The project operates entirely on CKB testnet, and no actual Bitcoin is transferred or accessed. Only public key derivation and message signing are used.
Q: Why can’t I receive CKB directly to my Taproot address?
A: Because the wallet’s signMessage API doesn’t support Schnorr signatures needed for P2TR validation. The system falls back to P2WPKH-style addresses for compatibility.
Q: Can I contribute to improving Taproot support?
A: Yes! As wallet providers evolve their APIs, developers can update the lock script and UI logic to enable full P2TR functionality.
Q: What happens if I send CKB to my wallet’s displayed Taproot address?
A: It may result in lost funds. Always use the address generated by the dApp UI, which corresponds to the derived Native Segwit version.
👉 See how next-gen Web3 platforms are solving cross-chain friction — start exploring now.
🚀 The Future of Cross-Chain Wallet Integration
As blockchain ecosystems grow more specialized, seamless interoperability becomes essential. Projects like this CKB UniSat PoC represent early but critical steps toward a future where:
- A single wallet works across multiple chains.
- Users control identity and assets without juggling extensions or seed backups.
- Developers build once and deploy everywhere.
With continued improvements in wallet APIs—especially support for Schnorr and BIP-322-style signing—the vision of universal Bitcoin-based identity becomes increasingly viable.
✅ Final Thoughts
The CKB UniSat PoC is more than just a technical demo—it's a blueprint for inclusive blockchain access. By enabling popular Bitcoin wallets like UniSat and OKX Wallet to interact with CKB, it removes friction, leverages existing user bases, and promotes wider adoption of Layer 1 innovations like Nervos.
While limitations around Taproot remain, they highlight areas for future development rather than dead ends. As standards evolve, so too will the capabilities of cross-chain tools.
Whether you're a developer exploring multi-chain dApp design or a user seeking simpler onboarding, this project offers valuable insights into what's possible when ecosystems collaborate instead of compete.
👉 Ready to dive deeper into Web3 innovation? Start building with integrated tools today.