xrpld
Loading...
Searching...
No Matches
Installing xrpld

Note
These instructions apply to packages published from 2026-08-19 onwards. For xrpld 3.3.0 and earlier see install-legacy.md.

xrpld is published as DEB and RPM packages for 64-bit x86 Linux. Use APT on Debian-based distributions such as Debian and Ubuntu, and DNF on Red Hat-based distributions such as RHEL, AlmaLinux, and Rocky Linux, where yum is a symlink to dnf. To build from source instead, see BUILD.md.

Release channels

Packages are published to four channels:

  • stable - production releases
  • rc - release candidates
  • beta - beta builds
  • develop - every push to the develop branch

See Publishing packages for how channels are produced.

The instructions below use stable. To follow another channel, replace stable with its name wherever it appears in the repository configuration.

Warning
Channels other than stable may be broken at any time. Do not use them for production servers.

Install the xrpld package

With the APT package manager

  1. Install utilities:

    bash sudo apt update -y sudo apt install -y apt-transport-https ca-certificates curl gnupg

  2. Add the XRPL Foundation package-signing key to your list of trusted keys:

    bash sudo install -d -m 0755 /etc/apt/keyrings sudo curl -fsS https://packages.xrplf.org/xrplf.asc -o /etc/apt/keyrings/xrplf.asc

  3. Check the fingerprint of the newly-added key:

    bash gpg --show-keys /etc/apt/keyrings/xrplf.asc

    The output should be:

    text pub rsa4096 2026-08-18 [SC] B655416741221F780FBCFBC9AA84D41A11D29FA9 uid XRPLF Packages <distribution@xrplf.org>

    In particular, make sure that the fingerprint matches.

  4. Add the repository, using the channel you picked in Release channelsRelease channels

:

bash 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.list

  1. Fetch the repository:

    bash sudo apt -y update

  2. Install the xrpld software package:

    bash sudo apt -y install xrpld

With the DNF package manager

  1. Add the XRPL Foundation package-signing key:

    bash sudo rpm --import https://packages.xrplf.org/xrplf.asc

  2. Add the repository, using the channel you picked in Release channelsRelease channels

:

bash cat << 'REPOFILE' | sudo tee /etc/yum.repos.d/xrplf.repo [xrplf-stable] name=XRP Ledger Packages enabled=1 baseurl=https://packages.xrplf.org/repository/rpm-stable/$basearch/ gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.xrplf.org/xrplf.asc REPOFILE

gpgcheck=1 verifies each package against the key above. repo_gpgcheck=1 verifies the repository metadata, which the server signs with the same key.

  1. Install the xrpld package:

    bash sudo dnf install -y xrpld

Optional: the assert-enabled build

Every channel also carries xrpld-assert as a DEB, the same build with assertions enabled, for diagnosing a problem on a non-production server. It installs the same files as xrpld and replaces it, so install one or the other:

sudo apt -y install xrpld-assert # APT removes xrpld itself

Switching stops the service, since it is a removal and an installation rather than an upgrade, and APT starts it again. Install xrpld the same way to switch back.

The xrpld service

Both package managers install a systemd unit and enable it, so xrpld starts on boot. Check whether it is already running:

systemctl status xrpld.service

The DEB packages start it immediately as well; the RPM packages do not, so start it yourself:

sudo systemctl start xrpld.service

Optional: binding to privileged ports

To serve incoming API requests on port 80 or 443, grant the service the capability to bind them. You must also update the config file's port settings.

sudo install -d -m 0755 /etc/systemd/system/xrpld.service.d
sudo tee /etc/systemd/system/xrpld.service.d/privileged-ports.conf >/dev/null <<'EOF'
[Service]
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
EOF
sudo systemctl daemon-reload
sudo systemctl restart xrpld.service