> For the complete documentation index, see [llms.txt](https://docs.expand.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.expand.network/integrations/blockchains/non-evm-based-chains/xrp-ledger/xrp-ledger-rwa.md).

# XRP Ledger RWA

### Available Endpoints:

*Click on the endpoint to jump to the section with full details*

* [<mark style="color:blue;">/settrustline</mark>](#settrustline) <mark style="color:green;">`POST`</mark> <mark style="color:blue;">-</mark> Implement a trustline between an issuer and asset holder.
* [<mark style="color:blue;">/issue</mark>](#issue) <mark style="color:green;">`POST`</mark> <mark style="color:blue;">-</mark> Executes a payment operation to issue an asset (excluding XRP) to the distributor.
* [<mark style="color:blue;">/transfer</mark> ](#transfer)<mark style="color:green;">`POST`</mark> <mark style="color:blue;">-</mark> Trigger a payment operation to send an amount in a specific asset (XRP or non-XRP) to a destination account.
* [<mark style="color:blue;">/burn</mark>](#burn) <mark style="color:green;">`POST`</mark> <mark style="color:blue;">-</mark> Executes a transaction to burn or delete an asset.
* [<mark style="color:blue;">/freeze</mark>](#freeze) <mark style="color:green;">`POST`</mark> <mark style="color:blue;">-</mark> Executes a transaction to revoke an existing trustline’s authorization, thereby freezing the asset held by an account.

*Also, see* [Error Handling Details](#error-handling-details)

### Chain IDs

Please use Chain ID <mark style="color:orange;">**1600**</mark> for the XRP Ledger Mainnet and <mark style="color:orange;">**1601**</mark> for the XRP Ledger Testnet\
\
See the  [Chain ID](/ids/chain-ids.md) for a complete list of DEX IDs.&#x20;

## Endpoint Details

### /settrustline

Implement a trustline between issuer and distributor.

<mark style="color:green;">`POST`</mark> `https://api.expand.network/rwa/settrustline`

#### Request Body

| Name                                        | Type   | Description                                                  |
| ------------------------------------------- | ------ | ------------------------------------------------------------ |
| rpc                                         | String | Remote procedural call URL.                                  |
| chainId<mark style="color:red;">\*</mark>   | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| chainSymbol                                 | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| from<mark style="color:red;">\*</mark>      | String | Public address of the distributor of asset.                  |
| amount<mark style="color:red;">\*</mark>    | String | The amount of asset to set trustline for.                    |
| issuer<mark style="color:red;">\*</mark>    | String | Public address of the issuer of the asset.                   |
| assetCode<mark style="color:red;">\*</mark> | String | The code of asset to set trustline for.                      |

{% tabs %}
{% tab title="Sample Request" %}

```json
{
    "chainId": "1600",
    "issuer": "rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1",
    "assetCode": "USD",
    "amount": "100",
    "from": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6"
}
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1600",
        "from": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6",
        "fee": "12",
        "data": "eyJUcmFuc2FjdGlvblR5cGUiOiJUcnVzdFNldCIsIkFjY291bnQiOiJyb2d1ZTVIblBSU3N6RDlDV0dTVXo4VUdITVZ3U1NLRjYiLCJMaW1pdEFtb3VudCI6eyJjdXJyZW5jeSI6IlVTRCIsImlzc3VlciI6InJycE5uTkxLcmFydHVFcWZKR3BxeUR3UGoxQUZQZzl2bjEiLCJ2YWx1ZSI6IjAuMDAwMDAwMDAwMDAwMTAwIn0sIkZsYWdzIjowLCJGZWUiOiIxMiIsIlNlcXVlbmNlIjo1NTAwOTAwLCJMYXN0TGVkZ2VyU2VxdWVuY2UiOjg5NTE4MDU0fQ==",
        "referenceId": "bf64f21786364fe4b40687b1b1ea0226"
    }
}
```

{% endtab %}
{% endtabs %}

[<mark style="color:blue;">back to top</mark>](#endpoints-available)

### /issue

Executes a payment operation to issue an asset (excluding XRP) to the distributor.

<mark style="color:green;">`POST`</mark> `https://api.expand.network/rwa/issue`

#### Request Body

| Name                                        | Type   | Description                                                  |
| ------------------------------------------- | ------ | ------------------------------------------------------------ |
| rpc                                         | String | Remote procedural call URL.                                  |
| chainId<mark style="color:red;">\*</mark>   | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| chainSymbol                                 | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| issuer<mark style="color:red;">\*</mark>    | String | Public address of the issuer of the asset.                   |
| assetCode<mark style="color:red;">\*</mark> | String | The code of asset to be issued.                              |
| amount<mark style="color:red;">\*</mark>    | String | The amount at asset to be issued.                            |
| to<mark style="color:red;">\*</mark>        | String | The public address of the distributor.                       |
| destinationTag                              | String |                                                              |

{% tabs %}
{% tab title="Sample Request" %}

```json
{
    "chainId": "1600",
    "to": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6",
    "amount": "1000000",
    "assetCode": "USD",
    "issuer": "rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1",
    "destinationTag": "10"
}
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1600",
        "from": "rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1",
        "fee": "12",
        "data": "eyJUcmFuc2FjdGlvblR5cGUiOiJQYXltZW50IiwiQWNjb3VudCI6InJycE5uTkxLcmFydHVFcWZKR3BxeUR3UGoxQUZQZzl2bjEiLCJBbW91bnQiOnsiY3VycmVuY3kiOiJVU0QiLCJ2YWx1ZSI6IjAuMDAwMDAwMDAxMDAwMDAwIiwiaXNzdWVyIjoicnJwTm5OTEtyYXJ0dUVxZkpHcHF5RHdQajFBRlBnOXZuMSJ9LCJEZXN0aW5hdGlvbiI6InJvZ3VlNUhuUFJTc3pEOUNXR1NVejhVR0hNVndTU0tGNiIsIkZsYWdzIjowLCJGZWUiOiIxMiIsIlNlcXVlbmNlIjo2MDMwMCwiTGFzdExlZGdlclNlcXVlbmNlIjo4OTUxODA4NX0=",
        "referenceId": "7b47c87345334b79837d013b55b37e41"
    }
}
```

{% endtab %}
{% endtabs %}

[<mark style="color:blue;">back to top</mark>](#endpoints-available)

### /transfer

Trigger a payment operation to send an amount in a specific asset (XLM or non-XLM) to a destination account.

<mark style="color:green;">`POST`</mark> `https://api.expand.network/rwa/transfer`

#### Request Body

| Name                                        | Type   | Description                                                  |
| ------------------------------------------- | ------ | ------------------------------------------------------------ |
| rpc                                         | String | Remote procedural call URL.                                  |
| chainId<mark style="color:red;">\*</mark>   | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| chainSymbol                                 | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| from<mark style="color:red;">\*</mark>      | String | Public address of sender of asset.                           |
| to<mark style="color:red;">\*</mark>        | String | Public address of the receiver   of the asset.               |
| amount<mark style="color:red;">\*</mark>    | String | Amount of asset to transfer.                                 |
| issuer<mark style="color:red;">\*</mark>    | String | Public address of the issuer of the asset.                   |
| assetCode<mark style="color:red;">\*</mark> | String | The code of the asset to transfer.                           |

{% tabs %}
{% tab title="Sample Request" %}

```json
{
    "chainId": "1600",
    "from": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6",
    "to": "r3KFdr7FTU1hxo9DbS1h65Wq8MXG7e9cgK",
    "amount": "100000",
    "assetCode": "USD",
    "issuer":"rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1"
}
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1600",
        "from": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6",
        "to": "r3KFdr7FTU1hxo9DbS1h65Wq8MXG7e9cgK",
        "fee": "12",
        "data": "eyJUcmFuc2FjdGlvblR5cGUiOiJQYXltZW50IiwiQWNjb3VudCI6InJycE5uTkxLcmFydHVFcWZKR3BxeUR3UGoxQUZQZzl2bjEiLCJBbW91bnQiOnsiY3VycmVuY3kiOiJVU0QiLCJ2YWx1ZSI6IjAuMDAwMDAwMDAwMTAwMDAwIiwiaXNzdWVyIjoicnJwTm5OTEtyYXJ0dUVxZkpHcHF5RHdQajFBRlBnOXZuMSJ9LCJEZXN0aW5hdGlvbiI6InIzS0ZkcjdGVFUxaHhvOURiUzFoNjVXcThNWEc3ZTljZ0siLCJGbGFncyI6MCwiRmVlIjoiMTIiLCJTZXF1ZW5jZSI6NjAzMDAsIkxhc3RMZWRnZXJTZXF1ZW5jZSI6ODk1MTgxMDh9",
        "referenceId": "b30e2a560ae64ad6bb50e0f1929cf66c"
    }
}
```

{% endtab %}
{% endtabs %}

[<mark style="color:blue;">back to top</mark>](#endpoints-available)

### /burn

Executes a transaction to burn or delete an asset.

<mark style="color:green;">`POST`</mark> `https://api.expand.network/rwa/burn`

#### Request Body

| Name                                        | Type   | Description                                                  |
| ------------------------------------------- | ------ | ------------------------------------------------------------ |
| rpc                                         | String | Remote procedural call URL.                                  |
| chainId<mark style="color:red;">\*</mark>   | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| chainSymbol                                 | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| from<mark style="color:red;">\*</mark>      | String | Public address of the distributor of asset.                  |
| amount<mark style="color:red;">\*</mark>    | String | The amount of asset to burn                                  |
| issuer<mark style="color:red;">\*</mark>    | String | Public address of the issuer of the asset.                   |
| assetCode<mark style="color:red;">\*</mark> | String | The code of asset to burn                                    |

{% tabs %}
{% tab title="Sample Request" %}

```json
{
    "chainId": "1600",
    "issuer": "rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1",
    "assetCode": "USD",
    "amount": "10000",
    "from": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6"
}
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1600",
        "from": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6",
        "fee": "12",
        "data": "eyJUcmFuc2FjdGlvblR5cGUiOiJQYXltZW50IiwiQWNjb3VudCI6InJvZ3VlNUhuUFJTc3pEOUNXR1NVejhVR0hNVndTU0tGNiIsIkFtb3VudCI6eyJjdXJyZW5jeSI6IlVTRCIsInZhbHVlIjoiMC4wMDAwMDAwMDAwMTAwMDAiLCJpc3N1ZXIiOiJycnBObk5MS3JhcnR1RXFmSkdwcXlEd1BqMUFGUGc5dm4xIn0sIkRlc3RpbmF0aW9uIjoicnJwTm5OTEtyYXJ0dUVxZkpHcHF5RHdQajFBRlBnOXZuMSIsIkZsYWdzIjowLCJGZWUiOiIxMiIsIlNlcXVlbmNlIjo1NTAwOTAwLCJMYXN0TGVkZ2VyU2VxdWVuY2UiOjg5NTE4MTI0fQ==",
        "referenceId": "d1f18b73e93e40a580abdd6bcb07cfde"
    }
}
```

{% endtab %}
{% endtabs %}

[<mark style="color:blue;">back to top</mark>](#endpoints-available)

### /freeze

Executes a transaction to revoke an existing trustline’s authorization, thereby freezing the asset held by an account.

<mark style="color:green;">`POST`</mark> `https://api.expand.network/rwa/freeze`

#### Request Body

| Name                                        | Type   | Description                                                  |
| ------------------------------------------- | ------ | ------------------------------------------------------------ |
| rpc                                         | String | Remote procedural call URL.                                  |
| chainId<mark style="color:red;">\*</mark>   | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| chainSymbol                                 | String | Refer to the [Chain ID ](/ids/chain-ids.md)page for details. |
| user<mark style="color:red;">\*</mark>      | String | Public address of user to be freezed.                        |
| issuer<mark style="color:red;">\*</mark>    | String | Public address of the issuer of the asset.                   |
| assetCode<mark style="color:red;">\*</mark> | String | The code of the asset to freeze                              |

{% tabs %}
{% tab title="Sample Request" %}

```json
{
    "chainId": "1600",
    "issuer": "rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1",
    "assetCode": "USD",
    "amount": "10000",
    "user": "rogue5HnPRSszD9CWGSUz8UGHMVwSSKF6"
}
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1600",
        "from": "rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1",
        "fee": "12",
        "data": "eyJUcmFuc2FjdGlvblR5cGUiOiJUcnVzdFNldCIsIkFjY291bnQiOiJycnBObk5MS3JhcnR1RXFmSkdwcXlEd1BqMUFGUGc5dm4xIiwiTGltaXRBbW91bnQiOnsidmFsdWUiOiIwLjAwMDAwMDAwMDAxMDAwMCIsImN1cnJlbmN5IjoiVVNEIiwiaXNzdWVyIjoicm9ndWU1SG5QUlNzekQ5Q1dHU1V6OFVHSE1Wd1NTS0Y2In0sIkZsYWdzIjoxMDQ4NTc2LCJGZWUiOiIxMiIsIlNlcXVlbmNlIjo2MDMwMCwiTGFzdExlZGdlclNlcXVlbmNlIjo4OTUxODEzNX0=",
        "referenceId": "c71ff35024f3435f8262c858c117cb5a"
    }
}
```

{% endtab %}
{% endtabs %}

[<mark style="color:blue;">back to top</mark>](#endpoints-available)

### Error Handling Details

<table><thead><tr><th width="253">Error</th><th>Description</th></tr></thead><tbody><tr><td>400 (Bad Request)</td><td>Indicates the request is invalid or missing the required parameters. The msg field will contain details about the error.</td></tr><tr><td>401 (Unauthorised)</td><td>Indicates the request lacks valid authentication credentials (API key). Ensure that you provide a valid API key in the request headers.</td></tr><tr><td>404 (Not Found)</td><td>Indicates that the specified endpoint or resource does not exist.</td></tr><tr><td>500 (Server Error)</td><td>Indicates an internal server error.</td></tr></tbody></table>

[<mark style="color:blue;">back to top</mark>](#endpoints-available)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.expand.network/integrations/blockchains/non-evm-based-chains/xrp-ledger/xrp-ledger-rwa.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
