The open platform
for money

The RippleX Platform provides
developer tools, services, and programs
to integrate money into your apps.

Create Dev Account
Create Dev Account

How It Works

Use Cases

Gaming, Media, Payments

Tools and Services

RippleX Dev Kit, RippleX Wallet, XRP/ILP Tools

Protocols

PayID (Addressing) Interledger (Messaging),
XRP Ledger (Settlement)

Protocols

XRP icon

XRP Ledger

For Real-Time Payments and Settlement

The XRP Ledger is a decentralized blockchain / cryptographic ledger, powered by a network of peer-to-peer servers. It is the home of XRP, a digital asset designed to bridge the many different currencies in use worldwide.

Read Docs
Interledger icon

Interledger

For Interoperable Payments

Interledger is an open protocol suite for sending payments across different ledgers. Like the Internet, connectors route packets of money across independent networks. The open architecture and minimal protocol enable interoperability for any value transfer system.

Read Docs
PayID icon

PayID

For Universal Payment Address

PayID is a protocol for human-readable addresses for all payments. PayID enables services to provide their users with a single easy-to-use address that works for all their wallet's payment networks and fully abstracts complex protocol details. It's like email for payments.

Read Docs

Use Cases

(finance icon)

Payments

Custody, send, receive, spend and get paid in your app.

Read Docs
(content icon)

Media

Build new business models that allow content creators to get paid directly.

Read Docs
(gaming icon)

Gaming

Create, own and exchange virtual goods with others across games.

Read Docs

See what other devs are building in
the RippleX community.

Learn More

See what other devs
are building in the
RippleX community.

Learn More

RippleX Dev Kit

An SDK that provides libraries and documentation for building on the XRP Ledger and ILP.

Getting Started
const { TransactionStatus, Wallet, XrpClient } = require("ripplex-js")

// The expected address of the gRPC server.
// Some options:
//     dev.xrp.ripplex.io:50051
//     test.xrp.ripplex.io:50051
//     main.xrp.ripplex.io:50051
const grpcURL = "test.xrp.ripplex.io:50051";
const wallet = Wallet.generateWalletFromSeed(
    "snYP7oArxKepd3GPDcrjMsJYiJeJB"
);
const recipientAddress =
    "X7cBcY4bdTTzk3LHmrKAK6GyrirkXfLHGFxzke5zTmYMfw4";
const dropsToSend = "10";

async function main() {
    // Instantiate an XrpClient connected to the XRP Ledger Testnet
    console.log("\nUsing rippled node located at: " + grpcURL + "\n");
    const xrpClient = new XrpClient(grpcURL);

    // Get account balance
    console.log("Retrieving balance for " + wallet.getAddress() + "..");
    const balance = await xrpClient.getBalance(wallet.getAddress());
    console.log("Balance was " + balance + " drops!\n");

    // Send XRP
    console.log("Sending:");
    console.log("- Drops "+ dropsToSend)
    console.log("- To: " + recipientAddress);
    console.log("- From: " + wallet.getAddress() + "\n");
    const hash = await xrpClient.send(
    dropsToSend,
    recipientAddress,
    wallet
    )

    // Check status of the payment
    console.log("Hash for transaction:\n" + hash + "\n");
    const status = await xrpClient.getPaymentStatus(hash);
    console.log("Result for transaction is:\n" + statusCodeToString(status) + "\n");

    // Retrieve full payment history for account
    console.log("Payment history for account " + wallet.getAddress() + ": ");
    const paymentHistory = await xrpClient.paymentHistory(wallet.getAddress());
    const shortPaymentHistory = paymentHistory.slice(0, Math.min(paymentHistory.length, 5))
    for (const transaction of shortPaymentHistory) {
    console.log(transaction);
    }
}

function statusCodeToString(status) {
    switch (status) {
    case TransactionStatus.Succeeded:
        return "SUCCEEDED"
    case TransactionStatus.Failed:
        return "FAILED"
    case TransactionStatus.Pending:
        return "PENDING"
    case TransactionStatus.Unknown:
    default:
        return "UNKNOWN"
    }
}

// Exit with an error code if there is an error.
process.on('unhandledRejection', error => {
    console.log(`Fatal: ${error}`)
    process.exit(1)
});

main()

RippleX Services

Wallet Icon 1

XRP Testnet Wallet

Sandbox for developers to test their XRPL-enabled apps.

Read Docs
Wallet Icon 1

Interledger Testnet Wallet

Sandbox for developers to test their Interledger-enabled apps.

Read Docs
Explorer Icon 1

XRP Ledger Explorer

View network status, transactions, and addresses for XRP mainnet, testnet, and devnet.

Read Docs

Get started with
RippleX today

Create Dev Account

Get started with
RippleX today

Create Dev Account