# @transia/xrpl

> A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser

Latest version **4.4.6-alpha.2** (published 2026-04-02) · ISC license · 0 weekly downloads

## Install

```sh
npm install @transia/xrpl
pnpm add @transia/xrpl
yarn add @transia/xrpl
bun add @transia/xrpl
```

## Health

**Score 60/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 4.4.6-alpha.2 |
| Published | 2026-04-02 |
| First published | 2023-03-28 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=18.0.0 |
| Dependencies | 10 |
| Unpacked size | 7.3 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1333 |
| Maintainers | transia |
| Keywords | ripple-lib, ripple, xrp, xrp ledger, xrpl |

## Links

- npm: https://www.npmjs.com/package/@transia/xrpl
- Repository: https://github.com/XRPLF/xrpl.js
- Homepage: https://github.com/XRPLF/xrpl.js#readme
- Issues: https://github.com/XRPLF/xrpl.js/issues
- npm.io page: https://npm.io/package/@transia/xrpl

## Dependencies (10)

- [@scure/bip32](https://npm.io/package/@scure/bip32.md) ^1.3.1
- [@scure/bip39](https://npm.io/package/@scure/bip39.md) ^1.2.1
- [bignumber.js](https://npm.io/package/bignumber.js.md) ^9.0.0
- [eventemitter3](https://npm.io/package/eventemitter3.md) ^5.0.1
- [@transia/isomorphic](https://npm.io/package/@transia/isomorphic.md) ^1.0.5-alpha.1
- [@transia/secret-numbers](https://npm.io/package/@transia/secret-numbers.md) ^2.0.4-alpha.1
- [@transia/ripple-keypairs](https://npm.io/package/@transia/ripple-keypairs.md) ^2.0.4-alpha.1
- [fast-json-stable-stringify](https://npm.io/package/fast-json-stable-stringify.md) ^2.1.0
- [@transia/ripple-binary-codec](https://npm.io/package/@transia/ripple-binary-codec.md) ^2.5.5-alpha.2
- [@transia/ripple-address-codec](https://npm.io/package/@transia/ripple-address-codec.md) ^5.0.4-alpha.1

## Recent versions

- 4.4.6-alpha.2 (latest) — 2026-04-02
- 4.4.1-quantum.0 (quantum) — 2025-12-22
- 4.4.6-alpha.0 — 2025-11-07
- 4.4.5-alpha.0 — 2025-10-28
- 4.4.4-alpha.1 — 2025-10-23
- 4.4.4-alpha.0 — 2025-10-22
- 4.4.3-alpha.0 — 2025-10-22
- 2.7.3-alpha.28 — 2024-06-19
- 2.7.3-alpha.27 — 2024-05-10
- 2.7.3-alpha.26 — 2024-03-13
- 2.7.3-alpha.25 — 2024-02-29
- 2.7.3-alpha.24 — 2024-01-27
- 2.7.3-alpha.22 — 2023-12-17
- 2.7.3-alpha.21 — 2023-12-15
- 2.7.3-alpha.20 — 2023-12-10
- … 24 more at https://npm.io/package/@transia/xrpl/versions

## README

# xrpl.js

A JavaScript/TypeScript library for interacting with the XRP Ledger

[![NPM](https://nodei.co/npm/xrpl.png)](https://www.npmjs.org/package/xrpl)
![npm bundle size](https://img.shields.io/bundlephobia/min/xrpl)

This is the recommended library for integrating a JavaScript/TypeScript app with the XRP Ledger, especially if you intend to use advanced functionality such as IOUs, payment paths, the decentralized exchange, account settings, payment channels, escrows, multi-signing, and more.

## [➡️ Reference Documentation](http://js.xrpl.org)

See the full reference documentation for all classes, methods, and utilities.

## Features

1. Managing keys & creating test credentials ([`Wallet`](https://js.xrpl.org/classes/Wallet.html) && [`Client.fundWallet()`](https://js.xrpl.org/classes/Client.html#fundWallet))
2. Submitting transactions to the XRP Ledger ([`Client.submit(...)`](https://js.xrpl.org/classes/Client.html#submit) & [transaction types](https://xrpl.org/transaction-types.html))
3. Sending requests to observe the ledger ([`Client.request(...)`](https://js.xrpl.org/classes/Client.html#request) using [public API methods](https://xrpl.org/public-api-methods.html))
4. Subscribing to changes in the ledger ([Ex. ledger, transactions, & more...](https://xrpl.org/subscribe.html))
5. Parsing ledger data into more convenient formats ([`xrpToDrops`](https://js.xrpl.org/functions/xrpToDrops.html) and [`rippleTimeToISOTime`](https://js.xrpl.org/functions/rippleTimeToISOTime.html))

All of which works in Node.js (tested for v20+) & web browsers (tested for Chrome).

# Quickstart

### Requirements

+ **[Node.js v22](https://nodejs.org/)** is recommended. We also support v20. Other versions may work but are not frequently tested.

### Installing xrpl.js

In an existing project (with package.json), install xrpl.js with:

```
$ npm install --save xrpl
```

Or with `yarn`:

```
$ yarn add xrpl
```

Example usage:

```js
const xrpl = require("xrpl");
async function main() {
  const client = new xrpl.Client("wss://s.altnet.rippletest.net:51233");
  await client.connect();

  const response = await client.request({
    command: "account_info",
    account: "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
    ledger_index: "validated",
  });
  console.log(response);

  await client.disconnect();
}
main();
```

For a more in-depth example, you can copy/forking this Code Sandbox template!
<br>https://codesandbox.io/s/xrpl-intro-pxgdjr?file=/src/App.js

It goes through:

1. Creating a new test account
2. Sending a payment transaction
3. And sending requests to see your account balance!

### Case by Case Setup Steps

If you're using xrpl.js with React or Deno, you'll need to do a couple extra steps to set it up:

- [Using xrpl.js with a CDN](https://github.com/XRPLF/xrpl.js/blob/main/UNIQUE_SETUPS.md#using-xrpljs-from-a-cdn)
- [Using xrpl.js with `create-react-app`](https://github.com/XRPLF/xrpl.js/blob/main/UNIQUE_SETUPS.md#using-xrpljs-with-create-react-app)
- [Using xrpl.js with `React Native`](https://github.com/XRPLF/xrpl.js/blob/main/UNIQUE_SETUPS.md#using-xrpljs-with-react-native)
- [Using xrpl.js with `Vite React`](https://github.com/XRPLF/xrpl.js/blob/main/UNIQUE_SETUPS.md#using-xrpljs-with-vite-react)
- [Using xrpl.js with `Deno`](https://github.com/XRPLF/xrpl.js/blob/main/UNIQUE_SETUPS.md#using-xrpljs-with-deno)

## Documentation

As you develop with xrpl.js, there's two sites you'll use extensively:

1. [xrpl.org](https://xrpl.org/references.html) is the primary source for:
   - How the ledger works ([See Concepts](https://xrpl.org/concepts.html#main-page-header))
   - What kinds of transactions there are ([Transaction Types](https://xrpl.org/transaction-types.html#transaction-types))
   - Requests you can send ([Public API Methods](https://xrpl.org/public-api-methods.html))
   - Tutorials for interacting with various features of the ledger ([Tutorials](https://xrpl.org/tutorials.html#main-page-header))
2. [js.xrpl.org](https://js.xrpl.org/) has the reference docs for this library

### Mailing Lists

If you want to hear when we release new versions of xrpl.js, you can join our low-traffic mailing list (About 1 email per week):

- [Subscribe to xrpl-announce](https://groups.google.com/g/xrpl-announce)

If you're using the XRP Ledger in production, you should run a [rippled server](https://github.com/ripple/rippled) and subscribe to the ripple-server mailing list as well.

- [Subscribe to ripple-server](https://groups.google.com/g/ripple-server)

## Asking for help

One of the best spots to ask for help is in the [XRPL Developer Discord](https://xrpldevs.org) - There's a channel for xrpl.js where other community members can help you figure out how to accomplish your goals.

You are also welcome to create an [issue](https://github.com/XRPLF/xrpl.js/issues) here and we'll do our best to respond within 3 days.

## Key Links

- [xrpl.js Reference Docs](https://js.xrpl.org/)
- [xrpl.org (Detailed docs on how the XRPL works)](https://xrpl.org/references.html)
- [XRPL Code Samples](https://github.com/XRPLF/xrpl-dev-portal/tree/master/_code-samples)
- [#javascript in the XRPL Developer Discord for questions & support](https://xrpldevs.org)
- [xrpl-announce (The mailing list for new xrpl.js versions)](https://groups.google.com/g/xrpl-announce)
- [Applications that use xrpl.js](https://github.com/XRPLF/xrpl.js/blob/main/APPLICATIONS.md) (You can open a PR to add your project!)

---
_Source: https://npm.io/package/@transia/xrpl · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
