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

export const logo_0 = "/nodeapi/assets/chains/xrp-ledger-xrpl.svg"

export const chain_0 = "XRPL"

<span className="chain-logo-xrp-ledger-xrpl" />

<img className="page-cover" src="https://mintcdn.com/validation-cloud/QajBabafGojozKj4/nodeapi/assets/xrpl-overview-2x.png?fit=max&auto=format&n=QajBabafGojozKj4&q=85&s=c29165bf79602dc6bbe022db10b4cd9a" alt="" noZoom width="3980" height="960" data-path="nodeapi/assets/xrpl-overview-2x.png" />

<div className="not-prose my-8 flex flex-col gap-4 rounded-2xl border border-gray-950/10 p-5 sm:flex-row sm:items-center dark:border-white/10">
  <img src={logo_0} alt="" className="h-10 w-10 shrink-0" noZoom />

  <div className="flex-1">
    <p className="m-0 font-semibold text-gray-900 dark:text-gray-100">Start building on {chain_0} for free</p>
    <p className="m-0 mt-1 text-sm text-gray-600 dark:text-gray-400">Create an endpoint in under a minute. The Free plan includes 50 million compute units a month, and no credit card is required.</p>
  </div>

  <a href="https://app.validationcloud.io/auth/signup?returnTo=%2Fnode%2Fcreate-endpoint" className="shrink-0 rounded-full bg-primary px-5 py-2 text-center text-sm font-semibold text-white no-underline hover:opacity-90">Try free</a>
</div>

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 the complete public ledger history, from ledger 32,570 to the current ledger, with 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)

## Network Support

| Network | Full History / Archive | HTTPS | WSS |
| - | - | - | - |
| XRPL Mainnet | ✅ | ✅ | ✅ |

> **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:

<CodeGroup>
  ```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"}]}'
  ```
</CodeGroup>

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

Example request over WebSocket:

```bash 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"}
```

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


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