@utexo/rgb-sdk-rn package is the React Native SDK for iOS and Android applications built on the Utexo stack. Unlike the Node.js and Web SDKs, it embeds a full RGB Lightning Node (RLN) directly on-device — a native LDK-based node that runs locally without requiring a remote node or server.
What You Can Do
- Run a full Lightning node on-device (iOS and Android) via RLN
- Open Lightning channels and send/receive BTC or RGB asset payments over Lightning
- Issue, transfer, and manage RGB assets (NIA, CFA, IFA, UDA)
- Manage UTXOs and perform on-chain BTC sends
- Use a hardware-wallet-style external signer or a simple password signer
- Restart the node on the same
UTEXOWalletinstance without recreating it
Installation
iOS Setup
The native framework (RGBLightningNode.xcframework) is downloaded and extracted automatically during postinstall.
Android Setup
RequiresminSdkVersion 24. The native binding (com.utexo:rgb-lightning-node-android) is published to Maven Central and resolved by Gradle automatically — no extra repository configuration needed.
Primary Class: UTEXOWallet
UTEXOWallet is the main entry point. It implements IWalletManager and IUTEXOProtocol, owns the on-device RLN node lifecycle, and abstracts both signer types behind a single consistent API.
Construction
UTEXOWalletNodeParams
Signers
A signer encapsulates how the private key material is provided to the node. Pass one to theUTEXOWallet constructor. On the first call to init(), the wallet calls initNode on the signer; on every subsequent unlock() or reinit() it calls unlockNode automatically.
NativeExternalRLNSigner (recommended)
Uses a native hardware-style external signer. Keys never leave the device key store. Accepts a mnemonic string or raw BIP39 seed bytes.
PasswordRLNSigner
Classic password-based authentication. The mnemonic is only needed for the first-time init() call (written to disk), then cleared from memory.
Lifecycle
AUTEXOWallet goes through four phases:
initialize() is a backward-compatible alias for init(). reinit(params) combines shutdown() + init() + unlock() in one call for restarts on the same instance.
IRLNUnlockParams
Utexo Network Faucet — To get test BTC and RGB assets on the Utexo network, use the Telegram bot @Utexo_RLN_bot.
Limited to 2 requests per 24 hours per user.
Method Reference
Balance & Address
UTXO Management
Call
syncWallet() after funding and again after createUtxos() to update chain state before RGB operations.RGB Assets
BTC Sends
Transactions & Transfers
Fees & Backup
Lightning
On-chain RGB
Node Info
Peers
Channels
Payments
Utility
Core Workflows
First-Time Wallet Init
App Restart (Existing Node)
Issue an RGB Asset
Open a Lightning Channel
Lightning Payment
RGB Asset Payment over Lightning
Full Cleanup
Standalone Helpers
RLN Manager (Advanced)
RLNManager and createRLNManager expose the raw RLN node API for advanced use cases requiring full node lifecycle control without the UTEXOWallet wrapper. All methods map 1:1 to the underlying native module calls.
Demo App
A full working demo is available at rgb-sdk-rn-playground. It demonstrates the completeUTEXOWallet lifecycle, both signer types, node restart via reinit(), and raw RLNManager flows for comparison.
Further Reading
- SDK Overview — SDK family, key concepts, and execution model.
- Architecture — The Bitcoin + RGB + Lightning stack the SDK operates on.