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

A running RGB Lightning Node (RLN) 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.

The endpoint reference below applies to nodes managed by Utexo Cloud and to self-hosted nodes; the connection and authentication settings differ and are covered separately. Available endpoints and request schemas follow the RLN release a node is running — check the OpenAPI specification for your version.

### Base URL — Utexo Cloud

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.

```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}/issueassetnia
```

### Base URL — self-hosted

The API listens on the port passed to `--daemon-listening-port` (default `3001`). Authenticate with a Biscuit token — see [Authentication](/rgb-lightning-node/self-hosted-rgb-lightning-node#authentication) for issuing and revoking tokens.

```bash theme={null}
curl -X POST \
  -H "Content-type: application/json" \
  -H "Authorization: Bearer <TOKEN>" \
  -d '{"ticker": "USDT", "name": "Tether", "amounts": [666], "precision": 0}' \
  http://localhost:3001/issueassetnia
```

## 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 |
| `/sendrgb` | POST | Send RGB assets on-chain |
| `/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://utexo-protocol.github.io/rgb-lightning-node](https://utexo-protocol.github.io/rgb-lightning-node)


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