xrpl-up
CLI for XRPL local development and scripting. Spin up a local sandbox with pre-funded accounts, run scripts, manage snapshots, and interact with remote testnet/devnet endpoints from one tool.

Prerequisites
- Node.js v20 or later
- Docker (required for
--local mode only)
Installation
From npm (global):
# Latest stable release
npm install -g xrpl-up
# Beta release
npm install -g xrpl-up@beta-experimental
From source (development):
git clone https://github.com/ripple/xrpl-up.git
cd xrpl-up
npm install
npm run build
npm link
Claude Code Plugin
xrpl-up includes a Claude Code plugin that lets you interact with the XRP Ledger using natural language.
Install:
claude plugin marketplace add ripple/xrpl-up
claude plugin install xrpl-up@xrpl-up --scope user
Usage: In a Claude Code session, use /xrpl-up:xrpl-up followed by what you want to do:
/xrpl-up:xrpl-up start local sandbox
/xrpl-up:xrpl-up show status
/xrpl-up:xrpl-up list pre-funded accounts
/xrpl-up:xrpl-up create an XRP/USD AMM trading pair on local
/xrpl-up:xrpl-up swap 10 XRP for USD using account 2
/xrpl-up:xrpl-up show balance for account 2
/xrpl-up:xrpl-up stop the sandbox
Claude translates your request into the correct xrpl-up commands, executes them, and explains the result in plain language.
Quick Start
# Scaffold a new project (select "local" as default network)
xrpl-up init my-project
cd my-project && npm install
# Start a local sandbox with 10 pre-funded accounts (local is the default)
xrpl-up start
# In another terminal — list accounts with live balances
xrpl-up accounts
# Run a script against the local sandbox
xrpl-up run scripts/example-payment.ts
# Create an XRP/USD AMM pool (100 XRP + 100 USD, 0.5% fee)
xrpl-up amm create --asset XRP --asset2 USD/rIssuer... --amount 100000000 --amount2 100 --trading-fee 500 --node local --seed sEd...
# Mint a transferable NFT
xrpl-up nft mint --taxon 0 --uri https://example.com/meta.json --transferable --seed sn3nxiW7...
# Create an MPT issuance (Multi-Purpose Token)
xrpl-up mptoken issuance create --node local --max-amount 1000000 --asset-scale 6
# Open a payment channel
xrpl-up channel create --to rDestination... --amount 10 --settle-delay 86400 --seed sSrc...
Commands
xrpl-up has two command sets:
- Sandbox operation commands: environment lifecycle and state control (
start, stop, reset, snapshot, status, accounts, logs, config, run, init, faucet, amendment).
- XRPL interaction commands: transaction submission and account management (
wallet, account, payment, trust, offer, amm, nft, mptoken, escrow, check, channel, ticket, clawback, credential, did, multisig, oracle, deposit-preauth, permissioned-domain, vault).
XRPL interaction commands are intentionally non-exhaustive. For complex or production-grade flows, use xrpl.js directly or call rippled RPC endpoints.
Global flag: --node
All XRPL interaction commands accept a global --node option that sets the network target:
| Value | Connects to |
|---|
testnet (default) | XRPL Testnet |
devnet | XRPL Devnet (may include pre-release amendments not yet supported by this tool) |
local | Local sandbox (ws://localhost:6006) |
wss://... | Any custom WebSocket URL |
# Use local sandbox (start first with: xrpl-up start)
xrpl-up account info rMyAddress --node local
# Use testnet (default — no --node needed)
xrpl-up account info rMyAddress
# Use a custom WebSocket URL
xrpl-up account info rMyAddress --node ws://my-node:6006
# Set via environment variable
export XRPL_NODE=local
xrpl-up payment --to rDest --amount 10
--node only applies to XRPL interaction commands; sandbox lifecycle commands (start, stop, reset, etc.) use --local / --local-network for the local sandbox and --network for remote networks.
xrpl-up start
Starts a sandbox environment and funds accounts. Supports a fully local rippled node (via Docker) or a connection to XRPL Testnet/Devnet.
Two local modes are available:
| Mode | Command | Ledger close | State | Best for |
|---|
| Standalone (default) | xrpl-up start | Instant | Ephemeral | CI, quick tests, scripting |
| Local network | xrpl-up start --local-network | ~4s (consensus) | Persistent | Long dev sessions, snapshots |
Standalone is a single rippled node with instant ledger closes. State is wiped on each start. Use this for CI pipelines, quick sanity checks, and any workflow where you don't need state to survive restarts.