Practical overview
When it fits
Use Rgb Node when an RGB application needs its own contract-indexing and state service, either as a separate daemon or embedded in the application process.
Who it is for
- Developers who need a self-hosted backend for RGB contract data and state.
- Teams integrating RGB node services into an application or exposing them to client software.
Documented uses
- Index RGB contracts and read their state.
- Persist contract operations and validate consignments in the background.
- Monitor Bitcoin on-chain and mempool activity through BP Node.
- Provide client access through binary RPC or an embedded asynchronous client.
Requirements & limits
The repository is public and identifies the project as Apache-2.0 licensed. Its documented operating systems are Linux, macOS and UNIX; Windows support is a work in progress.
- Standalone mode builds the rgbd daemon and exposes binary RGB RPC over TCP.
- Embedded mode builds the rgbnode library and requires configuration and an instantiated persistence provider.
- The rgb-client crate provides a higher-level API and includes the rgb-cli command-line utility.
- HTTP REST, WebSocket and JSON-RPC access require separate adaptor services.
- Reads can run in parallel; writes to the same contract are serialized.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Start RGB Node as an embedded service
Initialize RGB Node inside an application and obtain its asynchronous client.
Before you start
- An application that can use the
rgb-nodelibrary with theembeddedfeature. - A configuration and an instantiated persistence provider.
Steps
Enable the
embeddedfeature to produce thergbnodelibrary.Call
Broker::start_embeddedwith the configuration and persistence provider.Call
Broker::clienton the returnedBrokerinstance to obtain anAsyncClient.Join the Broker thread from the main application by calling
Broker::run.
Expected outcome
The application has an embedded RGB Node Broker and an `AsyncClient` for processing node calls.
Guide limitations
- This procedure describes embedded setup; it does not document application-specific client calls or how to configure persistence.
- The documented operating-system support is Linux, macOS, and UNIX; Windows support is a work in progress.
Import an RGB contract and inspect its state with the RGB CLI
Add an existing contract consignment to the local stash and read the contract list and state.
Before you start
- The
rgbcommand-line tool is installed. - A contract consignment from the contract issuer, provided as a binary file or ASCII/Base64-armored text.
Steps
Import the consignment with
rgb import contract.rgb, substituting the consignment file name.List contracts in the stash by running
rgb contractsorrgbwith no arguments.Read a contract's state with
rgb state '', substituting the listed contract ID.
Expected outcome
The contract is imported into the local stash, and the CLI can display the stash's contract list and the selected contract's state.
Guide limitations
- The stash is not replicated to other peer machines; losing it means losing its assets and contract state, so it needs to be backed up.
- The guide assumes the
rgbCLI is already installed and does not document its installation steps.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 9 October 2026
- Original website title
- RGB-WG/rgb-node · Official homepage title · retained in its source language

