The open platform
for money
The RippleX Platform provides
developer tools, services, and programs
to integrate money into your apps.
How It Works
Use Cases
Gaming, Media, Payments
Tools and Services
RippleX Dev Kit, RippleX Wallet, XRP/ILP Tools
Protocols
PayString (Addressing) Interledger (Messaging),
XRP Ledger (Settlement)
Protocols
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 DocsInterledger
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 DocsPayString
For Universal Payment Address
PayString is a protocol for human-readable addresses for all payments. PayString 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 DocsSee 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 Startedconst { 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
XRP Ledger Explorer
View network status, transactions, and addresses for XRP mainnet, testnet, and devnet.
Read Docs