Skip to content

Introduction

Orbis1 SDK is a family of open-source TypeScript packages that give wallet developers and application builders a production-ready interface to the RGB protocol on Bitcoin.

What is Orbis1 SDK?

Two standalone packages ship today:

PackageTarget platformInstall
orbis1-sdk-nodeNode.js ≥ 18npm install orbis1-sdk-node
orbis1-sdk-rnReact Native (New Architecture)yarn add orbis1-sdk-rn

Both packages expose an identical public API. Only the native binding layer differs — N-API addon on Node.js and a Turbo Module on iOS/Android. All application code you write is fully portable between platforms.

What can it do?

  • RGB wallet operations — generate keys, create UTXOs, issue assets (NIA, UDA, CFA, IFA), send and receive via blinded or witness invoices, query balances and transfer history
  • Gas-Free transfers — collaborative PSBT signing where the Orbis1 service covers Bitcoin mining fees in exchange for a small RGB asset payment; users never need to hold BTC for RGB transfers
  • Watch Tower monitoring — register invoices for server-side monitoring and optional FCM push notifications on incoming transfers

Architecture overview

Your Application


 Orbis1SDK (config + lifecycle)
      ├── Wallet          ← RGB operations (send, receive, issue, sync …)
      ├── GasFreeModule   ← Quote → Build → Submit → Broadcast → Verify
      └── WatchTowerModule ← Invoice registration, FCM token

Wallet
  └── NativeRgb adapter
        ├── Node.js:  N-API → orbis1-rgb-lib (npm native addon)
        └── React Native: Turbo Module → iOS/Android rgb-lib binding

Package comparison

Aspectorbis1-sdk-nodeorbis1-sdk-rn
RuntimeNode.js ≥ 18React Native (New Architecture)
BindingN-API native addon (orbis1-rgb-lib)Turbo Module
Wallet data directory./rgb-data/ (auto-created at package root)App documents directory
Online handleExplicit createOnline / setOnline / dropOnline availableManaged inside Turbo Module
decodeInvoiceImplemented in TypeScript (manual URI parsing)Delegated to native
File I/O for consignmentfs/promisesfetch('file://')
Use casesServers, CLIs, desktop Electron appsiOS and Android mobile apps

API key

All backend features (Gas-Free, Watch Tower) require an API key issued by Orbis1 services.

  • pk_test_... — for TESTNET4 and REGTEST environments
  • sk_live_... — for MAINNET

Pass the key as apiKey in SDKConfig. It is held in memory only; the SDK never writes it to disk.

Open source

Both SDKs are MIT-licensed and hosted on GitHub:

Next steps

Released under the MIT License.