@utexo/rgb-sdk is archived. Choose the guide for your runtime before copying any initialization or payment code.
Node.js
New server-side applications using
@utexo/wdk-rgb-lightning.React Native
iOS and Android applications using
@utexo/rgb-sdk-rn.Web
Browser applications using
@utexo/rgb-sdk-web.Platform API Differences
The Web and React Native packages implement a shared
UTEXOWallet conformance contract. @utexo/wdk-rgb-lightning uses WDK manager/account types — do not copy UTEXOWallet method names into WDK code. The archived Node.js package uses its legacy wallet core; do not substitute onchainSend() for send() in that package.
How RGB Transfers Work
- The receiver generates a blinded or witness RGB invoice.
- The sender submits the invoice with the platform’s on-chain send method.
- Both wallets refresh their state while the transfer moves through the RGB and Bitcoin confirmation flow.
- The receiver verifies the asset balance after settlement.
New to RGB or UTXOs? See the Glossary and Architecture.
Asset IDs and Amounts
listAssets() returns assets grouped by schema. NIA assets are in listAssets().nia, and the identifier field is assetId.
amount values are integer base units. One displayed unit equals 10 ** precision base units; it is not always equal to 1.
Lightning Payments
The Web and React Native packages usecreateLightningInvoice(), payLightningInvoice(), and getLightningSendStatus(). @utexo/wdk-rgb-lightning uses createInvoice() / createLightningInvoice() and sendPayment(). Omit the asset field when creating a BTC-only invoice on the application SDKs.
Lightning payments also require usable peer and channel state. Wallet initialization alone does not create a channel or fund the node.
Network Selection
The hosted Web and React Native examples use theutexo network profile, which resolves to Utexo’s signet infrastructure. @utexo/wdk-rgb-lightning takes network plus explicit indexer/proxy (or bitcoind RPC) at unlock(). The archived Node.js package uses its package-specific testnet profile. Do not reuse a constructor or endpoint configuration across packages without checking the platform implementation.
Implementation References
These files are the reviewed sources for the API distinctions above:- Shared SDK conformance contract
- Shared wallet models
- wdk-rgb-lightning
- React Native wallet implementation
- Web wallet implementation
Common Prerequisites
- A separate sender and receiver wallet for an end-to-end transfer
- Bitcoin test funds for transaction fees
- A funded sender that already holds the RGB asset being transferred
- Secure mnemonic and password storage appropriate for the runtime