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

# RGB Lightning Node API

> REST JSON API reference for interacting with running RGB Lightning Node instances.

## Overview

Once an RLN node is running on Utexo Cloud, it exposes a REST JSON API that can be called directly to perform Lightning and RGB operations — channel management, asset issuance, payments, peer connections, and more.

### Base URL

Each node has a unique endpoint URL visible on its dashboard page (`/nodes/{nodeId}`). Connections can be made via mTLS or API token. See [Connect to RLN Node](/cloud/rln-node/connect-rln-node) for details.

### Example Request

```bash theme={null}
curl -X POST \
  -H "Content-type: application/json" \
  -d '{"ticker": "USDT", "name": "Tether", "amounts": [666], "precision": 0}' \
  https://{userId}.thunderstack.org/nodes/{userId}/{nodeId}/issueasset
```

## Available Endpoints

The node exposes the following REST endpoints, all using `POST` unless noted:

### Wallet & Balances

| Endpoint        | Method | Description                     |
| --------------- | ------ | ------------------------------- |
| `/address`      | POST   | Generate a new on-chain address |
| `/btcbalance`   | POST   | Get BTC balance                 |
| `/assetbalance` | POST   | Get RGB asset balance           |
| `/listunspents` | POST   | List unspent outputs            |
| `/createutxos`  | POST   | Create UTXOs for RGB use        |

### Asset Management

| Endpoint            | Method | Description                        |
| ------------------- | ------ | ---------------------------------- |
| `/issueassetnia`    | POST   | Issue a NIA (non-inflatable) asset |
| `/issueassetcfa`    | POST   | Issue a CFA (collectible) asset    |
| `/issueassetuda`    | POST   | Issue a UDA (unique digital asset) |
| `/listassets`       | POST   | List all RGB assets                |
| `/assetmetadata`    | POST   | Get metadata for an asset          |
| `/getassetmedia`    | POST   | Retrieve asset media               |
| `/postassetmedia`   | POST   | Upload asset media                 |
| `/sendasset`        | POST   | Send an RGB asset                  |
| `/listtransfers`    | POST   | List RGB transfers                 |
| `/refreshtransfers` | POST   | Refresh pending transfers          |
| `/failtransfers`    | POST   | Mark transfers as failed           |

### Payments & Invoices

| Endpoint            | Method | Description                |
| ------------------- | ------ | -------------------------- |
| `/lninvoice`        | POST   | Create a Lightning invoice |
| `/rgbinvoice`       | POST   | Create an RGB invoice      |
| `/decodelninvoice`  | POST   | Decode a Lightning invoice |
| `/decodergbinvoice` | POST   | Decode an RGB invoice      |
| `/invoicestatus`    | POST   | Check invoice status       |
| `/sendpayment`      | POST   | Send a Lightning payment   |
| `/keysend`          | POST   | Send a keysend payment     |
| `/listpayments`     | GET    | List all payments          |
| `/listtransactions` | POST   | List on-chain transactions |

### Channels

| Endpoint        | Method | Description               |
| --------------- | ------ | ------------------------- |
| `/openchannel`  | POST   | Open a Lightning channel  |
| `/closechannel` | POST   | Close a Lightning channel |
| `/listchannels` | GET    | List all channels         |
| `/getchannelid` | POST   | Get channel ID            |

### Peers & Network

| Endpoint              | Method | Description                  |
| --------------------- | ------ | ---------------------------- |
| `/connectpeer`        | POST   | Connect to a peer            |
| `/disconnectpeer`     | POST   | Disconnect from a peer       |
| `/listpeers`          | GET    | List connected peers         |
| `/networkinfo`        | GET    | Get network information      |
| `/nodeinfo`           | GET    | Get node information         |
| `/checkindexerurl`    | POST   | Verify indexer URL           |
| `/checkproxyendpoint` | POST   | Verify proxy endpoint        |
| `/estimatefee`        | POST   | Estimate transaction fee     |
| `/signmessage`        | POST   | Sign a message with node key |
| `/sendonionmessage`   | POST   | Send an onion message        |

### Swaps

| Endpoint        | Method | Description               |
| --------------- | ------ | ------------------------- |
| `/makerinit`    | POST   | Initialize as swap maker  |
| `/makerexecute` | POST   | Execute swap as maker     |
| `/taker`        | POST   | Participate as swap taker |
| `/listswaps`    | GET    | List all swaps            |

### Node Lifecycle

| Endpoint          | Method | Description                    |
| ----------------- | ------ | ------------------------------ |
| `/init`           | POST   | Initialize node after creation |
| `/unlock`         | POST   | Unlock node with password      |
| `/lock`           | POST   | Lock node                      |
| `/changepassword` | POST   | Change node password           |
| `/backup`         | POST   | Trigger a node backup          |
| `/restore`        | POST   | Restore node from backup       |
| `/sync`           | POST   | Sync node state                |
| `/shutdown`       | POST   | Shut down the node             |

## Full API Reference

For complete parameter definitions and response schemas, see the OpenAPI specification and interactive Swagger UI:

[https://rgb-tools.github.io/rgb-lightning-node](https://rgb-tools.github.io/rgb-lightning-node)
