# UTEXO DEV - RGB Integration Infrastructure
---
## 1. What is RGB?
RGB is **not a blockchain**. It’s an **execution and tokenization layer on Bitcoin** that enables:
- **Token Issuance Platform** → stablecoins (USDT), securities, NFTs
- **Communication Layer** → interoperable with Bitcoin, Lightning, and other Bitcoin-aligned layers
- **Privacy Layer** → client-side validation; no global ledger
- **Programmable Layer** → smart contracts, swaps, programmable payments
- **Bitcoin Security** → anchored in Bitcoin transactions, without fragmenting Bitcoin consensus
👉 **RGB = the ideal home for USDT and tokenized assets on Bitcoin.**
---
## 2. Why RGB is Different (and Harder for Integrations)
Unlike blockchains with global RPC endpoints (Ethereum → Infura/Alchemy, Solana → QuickNode, etc.), RGB executes on the **client side**.
That introduces **unique complexity for integrators and developers**.
### Required Infrastructure
To run RGB directly in a wallet, you need:
- `bitcoind` (Bitcoin full node)
- `Indexer` (to track UTXOs and commitments)
- `rgb-proxy-server` for RGB wallets communication
- `rgb-lib` (client-side validation library, maintained by Bitfinex)
- `RGB Lightning Node` (LDK based Lightning Node with RGB functionality)
- `Lightning channel with inboud/outbound liquidity` (opened lightning channel with locked RGB USDT and BTC)
### UX Problems for Integrators
- **High resource usage** -> Client-side validation runs on the user’s device, consuming CPU/RAM, this degrades wallet UX.
- **Always-online requirement** -> To accept a payment, the user must be online. Funds are "frozen" until they appear, unlike any other chain/network → a blocker for wallets.
- **DevOps burden** -> Wallet teams need to operate and maintain infra (bitcoind, indexer, proxy).
- **State backups** -> Unlike other networks, RGB requires users to back up **local state** in addition to the seed phrase. Wallets must implement data backup/restore logic specifically for RGB.
- **Lightning Network** constraints (channels, inbound liqudity)
---
## 3. The UTEXO Solution
UTEXO abstracts away all of this complexity.
We provide a **full-stack infrastructure layer** for RGB:
- Expose a **simple REST API** (non-custodial)
- Developers only integrate the API → no infra, no DevOps, no state-management logic needed, no Lightning Network complexities but with full compatibility with Lightning Network
- API returns a **PSBT** (Partially Signed Bitcoin Transaction)
- Wallet signs the PSBT locally (keys never leave the device)
- Signed PSBT is sent back to our API for broadcast & settlement
- Multiple client libraries available (JS, Python, Go, Rust etc)
---
## 4. How It Works
1. **Wallet Backend / Client** requests an RGB action (create invoice, list assets, withdrawal, etc.) via UTEXO REST API.
2. **RGB Node** prepares the PSBT and tracks RGB state in UTEXO Bitcoin-native L2.
3. Client signs the PSBT locally (via our lightweight signer library).
4. Client submits the signed PSBT back.
5. UTEXO infrastrucute broadcasts transaction to UTEXO Bitcoin L2 + synchronizes RGB state
6. UTEXO Bitcoin L2 settles transaction to Bitcoin L1 (optional)
### Sequence Diagrams
**Diagram 1: RGB Trander Send Flow**
[](https://docs.thunderstack.org/~gitbook/image?url=https%3A%2F%2F2368910087-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F3VIo3KoG7rZ0qGd8fePG%252Fuploads%252FwF4tGzXU9QNVPRF942fa%252Fdiagram-export-12.06.2025-15_12_28.png%3Falt%3Dmedia%26token%3D17010baf-8808-4a36-b7f1-519c224fc890&width=768&dpr=2&quality=100&sign=c172568c&sv=2)
---
## 5. Developer Experience
- **Non-Custodial** → Keys stay local, only PSBTs are exchanged.
- **Simple REST API** → no protocol complexity.
- **On-demand access** → clients integrate once, and all infra is handled.
- **Multi-language SDKs** → ready-made client libs (JS, Python, Go, Rust).
- **Production-ready** → high aviability, monitoring, backups, scaling built in.
📄 **API Reference** → [UTEXO RGB API Docs](https://docs.thunderstack.org/bitcoin-native-infrastructure/readme/thunderlink/rgb-manager/api-reference)
---
## 6. Why UTEXO
- **Hours to integrate instead of months** -> Add RGB support fast.
- **Zero infra overhead** -> No lightning/bitcoind/indexer/proxy to operate.
- **Better UX**-> Clients don’t suffer from long and costly transactions, CPU/RAM/HDD drain or frozen funds with lightning liquidity managment
- **Future-proof** → Ultimate scalability and security with Bitcoin + Lightning + RGB
Developers get simplicity of integration, while keeping RGB payments fully non-custodial, cheap, fast and scalable.
---