This page describes the recommended instructions for installing the latest stable version of xrpld on Ubuntu Linux, using a binary that has been compiled and published by the XRP Ledger Foundation as a deb package.
Currently, Ubuntu 22.04 and Ubuntu 24.04 on x86_64 processors have received the highest level of support and testing. Packages are also available for Debian Linux 12 Bookworm. You may be able to adapt these instructions to other Linux distributions that also use the apt package manager, but other configurations are not officially supported.
Before you install xrpld, you must meet the System Requirements.
Update repositories:
sudo apt -y updateInstall utilities:
sudo apt -y install apt-transport-https ca-certificates wget gnupgAdd the XRP Ledger Foundation's package-signing GPG key to your list of trusted keys:
sudo install -m 0755 -d /etc/apt/keyrings && \ sudo wget -qO /etc/apt/keyrings/xrplf.asc https://packages.xrplf.org/xrplf.ascCheck the fingerprint of the newly-added key:
gpg --show-keys /etc/apt/keyrings/xrplf.ascThe output should be:
pub rsa4096 2026-08-18 [SC] B655416741221F780FBCFBC9AA84D41A11D29FA9 uid XRPLF Packages <[email protected]>In particular, make sure that the fingerprint matches. (In the above example, the fingerprint is on the second line, starting with
B655.)Add the XRP Ledger Foundation repository:
echo "deb [signed-by=/etc/apt/keyrings/xrplf.asc] https://packages.xrplf.org/repository/deb-stable any main" | \ sudo tee /etc/apt/sources.list.d/xrplf.listThe same line applies to every supported Ubuntu and Debian version; the suite is
any, not your release's codename.If you want access to development or pre-release versions of
xrpld, replacedeb-stablewith one of the following:deb-rc- Release candidatesdeb-beta- Beta buildsdeb-develop- Every push to thedevelopbranch
WarningChannels other thanstablemay be broken at any time. Do not use these builds for production servers.Update the package index to include the new repository and install
xrpld.sudo apt -y update && sudo apt -y install xrpldCheck the status of the
xrpldservice:systemctl status xrpld.serviceThe
xrpldservice should start automatically. If not, you can start it manually:sudo systemctl start xrpld.serviceOptional: allow
xrpldto bind to privileged ports.This allows you to serve incoming API requests on port 80 or 443. (If you want to do so, you must also update the config file's port settings.)
sudo setcap 'cap_net_bind_service=+ep' /usr/bin/xrpldOptional: configure core dumps
By default Ubuntu is not configured to produce core files useful for debugging crashes. First run:
ulimit -c unlimitedNow run
sudo systemctl edit rippled. The default editor should open and add[Service] LimitCORE=infinityThis creates the file
/etc/systemd/system/xrpld.service.d/override.confand configures the OS to save core dumps, without changing the service file provided by thexrpldpackage. If your server crashes, you can find the core dump in/var/lib/apport/coredump/. To load the core dump for inspection, use a command such as the following:gdb /usr/bin/xrpld /var/lib/apport/coredump/coreNoteTo debug a core file this way, you must have thexrpld-dbgsympackage installed, and you need permission to read files in the core dump directory.
It can take several minutes to sync with the rest of the XRP Ledger network, during which time the server outputs various warnings. For information about log messages, see Understanding Log Messages.
You can use the xrpld commandline interface to see if your server is synced with the network:
xrpld server_infoIf the server_state in the response is full or proposing, then your server is fully synced to the network. Otherwise, you may need to wait longer. Fresh servers usually sync within 15 minutes; servers that already have ledger history stored can take longer.
After your server has synchronized with the rest of the network, you have a fully functional XRP Ledger peer-to-peer server that you can use to submit transactions or get API access to the XRP Ledger. See Client Libraries or HTTP / WebSocket APIs for different ways to communicate with the server.
If you use the XRP Ledger for your business or you want to contribute to the stability of the network, you should run one server as a validator. For information about validating servers and why you might want to run one, see Run xrpld as a Validator.
Having trouble getting your server started? See xrpld Server Won't Start.
xrpld should connect to the XRP Ledger with the default configuration. However, you can change your settings by editing the xrpld.cfg file. For recommendations about configuration settings, see Capacity Planning.
The recommended installation uses the config file /etc/xrpld/xrpld.cfg by default. Other places you can put a config file include $HOME/.config/xrpld/xrpld.cfg (where $HOME is the home directory of the user running rippled), $HOME/.local/xrpld/xrpld.cfg, or the current working directory from where you start rippled.
The config file was renamed from rippled.cfg to xrpld.cfg. During the transition, if xrpld.cfg is not present the server still reads rippled.cfg from the same locations, so existing config files keep working without being renamed.
See the xrpld GitHub repository for a description of all configuration options.
You must restart xrpld for any configuration changes to take effect.
If you change the [debug_logfile] or [database_path] sections, you may need to grant ownership of the new configured path to the user you run xrpld as.
You must update xrpld regularly to remain synced with the rest of the XRP Ledger network. You can subscribe to the xrpld Google Group to receive notifications of new xrpld releases.
The xrpld package includes a script you can use to enable automatic updates on Linux. On other platforms, you must update manually.