> ## Documentation Index
> Fetch the complete documentation index at: https://docs.utexo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart Overview

> Choose the Utexo SDK package and lifecycle for your application runtime.

The Utexo SDK has current Web, React Native, and WDK (Node.js / Bare) packages. `@utexo/rgb-sdk` is archived. Choose the guide for your runtime before copying any initialization or payment code.

<CardGroup cols={3}>
  <Card title="Node.js" icon="node-js" href="/sdk/wdk-rgb-lightning">
    New server-side applications using `@utexo/wdk-rgb-lightning`.
  </Card>

  <Card title="React Native" icon="mobile" href="/getting-started/quickstart/react-native">
    iOS and Android applications using `@utexo/rgb-sdk-rn`.
  </Card>

  <Card title="Web" icon="browser" href="/getting-started/quickstart/web">
    Browser applications using `@utexo/rgb-sdk-web`.
  </Card>
</CardGroup>

<Warning>
  The [`@utexo/rgb-sdk` source repository](https://github.com/UTEXO-Protocol/rgb-sdk) was archived on July 28, 2026 and is read-only; its last committed package version is `1.0.0-beta.9`. **New Node.js integrations should use [`@utexo/wdk-rgb-lightning`](/sdk/wdk-rgb-lightning).** The remaining packages share models from `@utexo/rgb-sdk-core`, but they do not expose an identical runtime API. Use the platform-specific guide and check the installed package version before copying code.
</Warning>

## Platform API Differences

| Package | Wallet startup | On-chain RGB send |
| - | - | - |
| `@utexo/wdk-rgb-lightning` (Node.js / Bare) | `WalletManagerRgbLightning` + `getAccount(0)` + `unlock()` | `sendRgbAsset()` / `transfer()` |
| `@utexo/rgb-sdk` (legacy; source archived) | Construct with a mnemonic and call `initialize()` | `send()` |
| `@utexo/rgb-sdk-rn` | Construct with node parameters and a signer, then call `init()` and `unlock()` | `onchainSend()` |
| `@utexo/rgb-sdk-web` | Construct with one parameter object, then call `init()` and `unlock()` | `onchainSend()` |

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

1. The receiver generates a blinded or witness RGB invoice.
2. The sender submits the invoice with the platform's on-chain send method.
3. Both wallets refresh their state while the transfer moves through the RGB and Bitcoin confirmation flow.
4. The receiver verifies the asset balance after settlement.

All RGB state is validated client-side. The Bitcoin UTXO anchors the state transition; the transport service delivers consignments but does not replace client-side validation.

<Info>
  New to RGB or UTXOs? See the [Glossary](/getting-started/glossary) and [Architecture](/getting-started/architecture).
</Info>

## 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`.

```typescript theme={null}
const { nia } = await senderWallet.listAssets();
const asset = nia.find((item) => item.ticker === 'USDT');


if (!asset) {
  throw new Error('The sender wallet does not hold the requested NIA asset');
}


const assetId = asset.assetId;
const oneDisplayUnit = 10 ** asset.precision;
```

A newly created receiver wallet will not discover an asset it has never received. Obtain the asset ID and precision from the funded sender wallet or another authoritative asset registry. The documentation does not publish a hard-coded test asset ID because no canonical ID is committed in the SDK repositories.

## Lightning Payments

The Web and React Native packages use `createLightningInvoice()`, `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 the `utexo` 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.

<Warning>
  Never use mainnet keys or real funds while following a Quickstart. Test and signet assets have no monetary value.
</Warning>

## Implementation References

These files are the reviewed sources for the API distinctions above:

* [Shared SDK conformance contract](https://github.com/UTEXO-Protocol/rgb-sdk-core/blob/dev/src/conformance/index.ts)
* [Shared wallet models](https://github.com/UTEXO-Protocol/rgb-sdk-core/blob/dev/src/types/wallet-model.ts)
* [wdk-rgb-lightning](https://github.com/UTEXO-Protocol/wdk-rgb-lightning/blob/dev/README.md)
* [React Native wallet implementation](https://github.com/UTEXO-Protocol/rgb-sdk-rn/blob/dev/src/wallet/utexo-wallet.ts)
* [Web wallet implementation](https://github.com/UTEXO-Protocol/rgb-sdk-web/blob/dev/src/utexo/utexo-wallet.ts)

## 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

The platform guides cover package-specific initialization and method names. End-to-end settlement time depends on funding, channel state, transport availability, and Bitcoin confirmations.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.