by interledger-rs

interledger-rs / interledger-rs

An easy-to-use, high-performance Interledger implementation written in Rust

141 Stars 51 Forks Last release: 12 months ago (ilp-cli-latest) Other 993 Commits 105 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Interledger implementation in Rust :moneywithwings: Documentation CircleCI rustc Rust Docker Image


All crates require Rust 2018 edition and are tested on the following channels:

  • 1.45.0
    (minimum supported)
  • stable

Connecting to the Testnet

See the testnet instructions to quickly connect to the testnet with a bundle that includes the node and settlement engines.


Installation and Usage

To run the components by themselves (rather than the

), you can follow these instructions:

Using Docker


  • Docker


bash #
docker pull interledgerrs/ilp-node
docker pull interledgerrs/ilp-cli
docker pull interledgerrs/ilp-settlement-ethereum


```bash #

This runs the sender / receiver / router bundle

docker run -it interledgerrs/ilp-node

This is a simple CLI for interacting with the node's HTTP API

docker run -it --rm interledgerrs/ilp-cli

This includes the Ethereum Settlement Engines written in Rust

docker run -it interledgerrs/ilp-settlement-ethereum ```

Building From Source



```bash #

1. Clone the repsitory and change the working directory

git clone && cd interledger-rs

2. Build interledger-rs (add
to compile the release version, which is slower to compile but faster to run)

cargo build ```

You can find the Interledger Settlement Engines in a separate repository.


```bash #

This runs the ilp-node

cargo run --bin ilp-node -- # Put CLI args after the "--"

cargo run --bin ilp-cli -- # Put CLI args after the "--" ```

Append the

flag to see available options.

See configuration for more details on how the node is configured.

Configuring Redis

We have some account settings such as

. In order to enable these options, you need to load the redis-cell module as follows. You don't need to load this module unless you use the rate-limit options.
# in your redis config file
# file will be found in crates/interledger-store/external
loadmodule /path/to/modules/

or you can specify an argument when you start up the redis instance as follows.

redis-server --loadmodule /path/to/modules/


See the examples for demos of Interledger functionality and how to use the implementation.


Contributions are very welcome and if you're interested in getting involved, see We're more than happy to answer questions and mentor you in making your first contributions to (even if you've never written in Rust before)!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.