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

# Overview

![](https://mintcdn.com/validation-cloud/QajBabafGojozKj4/nodeapi/assets/xrpl-overview-2x.png?fit=max\&auto=format\&n=QajBabafGojozKj4\&q=85\&s=c29165bf79602dc6bbe022db10b4cd9a)

![](https://docs.validationcloud.io/nodeapi/assets/chains/xrp-ledger-xrpl.svg)

Start building on XRPL for freeCreate an endpoint in under a minute. The Free plan includes 50 million compute units a month, and no credit card is required.

[Try free](https://app.validationcloud.io/auth/signup?returnTo=%2Fnode%2Fcreate-endpoint)

The XRP Ledger (XRPL) is a decentralized Layer 1 blockchain built for payments, with native support for issued currencies, a built-in decentralized exchange, automated market makers and NFTs.

Validation Cloud serves XRPL Mainnet with the complete public ledger history, from ledger 32,570 to the current ledger, and XRPL Testnet (Altnet) with history since mid-October 2026. Both networks have WebSocket and HTTPS access.

Developer docs: [https://xrpl.org/docs](https://xrpl.org/docs)

Mainnet block explorer: [https://livenet.xrpl.org](https://livenet.xrpl.org)

Testnet block explorer: [https://testnet.xrpl.org](https://testnet.xrpl.org)

## Network Support

| Network | Full History / Archive | HTTPS | WSS |
| - | - | - | - |
| XRPL Mainnet | ✅ | ✅ | ✅ |
| XRPL Testnet | Since mid-October 2026 | ✅ | ✅ |

> **Testnet resets.** Ripple occasionally resets XRPL Testnet, which deletes all accounts and balances and restarts ledger numbering at 1. The last reset was on 19 August 2024. After a reset, fund your accounts again from the [XRPL faucet](https://xrpl.org/resources/dev-tools/xrp-faucets).

> **Request format.** \
> \
> XRPL's HTTP API is JSON-RPC shaped but not JSON-RPC 2.0: the body is `{"method": "...", "params": [{...}]}` with no `jsonrpc` or `id` field. \
> \
> Over WebSocket, send `{"id": 1, "command": "...", ...}` with the parameters at the top level, as the xrpl.js and xrpl-py libraries do. \
> \
> The JSON-RPC shaped request `{"jsonrpc": "2.0", "id": 1, "method": "...", "params": [{...}]}` is accepted over WebSocket as well.

> **Validated by default.** Responses come from Clio, which serves validated ledger data. Requests that need the open ledger (`ledger_current`, `submit`, `fee`, or any request with `"ledger_index": "current"`) are forwarded to rippled automatically.

> **Errors are answers.** XRPL reports failures inside a `200 OK` response as `"status": "error"` with an `error` token (for example `lgrNotFound`, `actNotFound`), an `error_code` and an `error_message`. Check `result.status` rather than the HTTP status.

> **Not served.** `sign`, `sign_for` and `channel_authorize` take a secret key and are refused with `unknownCmd`; sign transactions client-side and send them with `submit`. `path_find` and the `peer_status`, `consensus` and `server` streams are not available.

> WebSocket clients **MUST** respond to server `ping` frames, otherwise the connection will be closed and re-established every minute.

## Getting Started

To start building on XRPL, connect your application to an XRPL endpoint and send XRPL API requests.

Example request over HTTPS:

```bash title="mainnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
curl https://mainnet.xrpl.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"method":"account_info","params":[{"account":"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De","ledger_index":"validated"}]}'
```

```bash title="testnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
curl https://testnet.xrpl.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"method":"account_info","params":[{"account":"rDzYkrDBG8uLa5EotddkzhZnAuFXXxf8Bu","ledger_index":"validated"}]}'
```

Use WebSocket for the `ledger`, `transactions` and `validations` streams and for `subscribe`.

Example request over WebSocket:

```bash title="mainnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
wscat -c wss://mainnet.xrpl.validationcloud.io/v1/<YOUR_API_KEY_HERE>
> {"id":1,"command":"account_info","account":"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De","ledger_index":"validated"}
```

```bash title="testnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
wscat -c wss://testnet.xrpl.validationcloud.io/v1/<YOUR_API_KEY_HERE>
> {"id":1,"command":"account_info","account":"rDzYkrDBG8uLa5EotddkzhZnAuFXXxf8Bu","ledger_index":"validated"}
```

With xrpl.js:

```javascript theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
import { Client } from "xrpl";

const client = new Client("wss://mainnet.xrpl.validationcloud.io/v1/<YOUR_API_KEY_HERE>");
await client.connect();
const info = await client.request({ command: "server_info" });
console.log(info.result.info.complete_ledgers);
await client.disconnect();
```

## Compute Units

Over WebSocket each method costs the same as over HTTPS. \
\
Every message pushed on a subscription (`ledgerClosed`, `transaction`, `validationReceived`, `manifestReceived`, `bookChanges`) is billed as one notification at `10` Compute Units regardless of size.

| Method | Compute units |
| - | - |
| [account\_channels](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/account_channels.md) | 40 |
| [account\_currencies](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/account_currencies.md) | 20 |
| [account\_info](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/account_info.md) | 20 |
| [account\_lines](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/account_lines.md) | 40 |
| [account\_nfts](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/account_nfts.md) | 40 |
| [account\_objects](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/account_objects.md) | 40 |
| [account\_offers](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/account_offers.md) | 40 |
| [account\_tx](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/account_tx.md) | 40 |
| [amm\_info](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/amm_info.md) | 20 |
| [book\_changes](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/book_changes.md) | 40 |
| [book\_offers](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/book_offers.md) | 40 |
| [channel\_verify](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/channel_verify.md) | 20 |
| [deposit\_authorized](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/deposit_authorized.md) | 20 |
| [feature](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/feature.md) | 20 |
| [fee](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/fee.md) | 20 |
| [gateway\_balances](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/gateway_balances.md) | 40 |
| [get\_aggregate\_price](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/get_aggregate_price.md) | 20 |
| [ledger](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/ledger.md) | 40 |
| [ledger\_closed](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/ledger_closed.md) | 20 |
| [ledger\_current](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/ledger_current.md) | 20 |
| [ledger\_data](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/ledger_data.md) | 40 |
| [ledger\_entry](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/ledger_entry.md) | 20 |
| [ledger\_index](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/ledger_index.md) | 20 |
| [ledger\_range](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/ledger_range.md) | 20 |
| [manifest](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/manifest.md) | 20 |
| [nft\_buy\_offers](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/nft_buy_offers.md) | 40 |
| [nft\_history](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/nft_history.md) | 40 |
| [nft\_info](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/nft_info.md) | 20 |
| [nft\_sell\_offers](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/nft_sell_offers.md) | 40 |
| [nfts\_by\_issuer](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/nfts_by_issuer.md) | 40 |
| [noripple\_check](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/noripple_check.md) | 20 |
| [ping](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/ping.md) | 20 |
| [random](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/random.md) | 20 |
| [ripple\_path\_find](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/ripple_path_find.md) | 40 |
| [server\_definitions](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/server_definitions.md) | 40 |
| [server\_info](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/server_info.md) | 20 |
| [server\_state](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/server_state.md) | 20 |
| [simulate](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/simulate.md) | 40 |
| [submit](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/submit.md) | 80 |
| [submit\_multisigned](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/submit_multisigned.md) | 80 |
| [subscribe](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/subscribe.md) | 20 |
| [transaction\_entry](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/transaction_entry.md) | 20 |
| [tx](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/tx.md) | 20 |
| [unsubscribe](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/unsubscribe.md) | 20 |
| [vault\_info](https://docs.validationcloud.io/nodeapi/xrp-ledger-xrpl/json-rpc-api/vault_info.md) | 20 |


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