Interledger Testnet

What is the Interledger Protocol (ILP)?

The Interledger Protocol (ILP) is a protocol to send payments between financial ledgers. This means that you can send money between blockchains, banks and any other type of ledger.

To start off run the following commands to install a local ILP node named moneyd and configure it for the testnet:

npm install -g moneyd moneyd-uplink-xrp
moneyd xrp:configure --testnet

Once you’ve run that, you should see that it created a testnet account for you and funded your wallet. To start your local node run:

moneyd xrp:start --testnet

You are now connected to the Interledger testnet! Do not worry if you see logs that say you are not sending or receiving routes. Your local node should not be sending or receiving routes so all is well. To confirm everything is running properly, let’s send a test payment. Open a new terminal window and enter:

npm install -g ilp-spsp

If you're on Linux or Mac run:

ilp-spsp send --receiver '$' --amount 100

But if you're on Windows run:

ilp-spsp send --receiver "$" --amount 100

The command above sends a payment to the payment pointer $ A payment pointer is like an email address, but for money. The currency scale is: 10^9 units = 1 XRP. Therefore, the payment above of 100 units is 10^(-7) XRP, which is roughly 0.000001 XRP, quite the micropayment! Once you see ‘sent!’ you have successfully sent your first interledger payment, and you are ready to build.

Get paid!

In order to get paid over Interledger you’ll need to set up your own payment pointer by running:

npm install -g ilp-spsp-server
ilp-spsp-server --subdomain your-name-here

You should see output confirming your new payment pointer. Other users on the network will now be able to pay you by running:

npm install -g ilp-spsp ilp-spsp send --receiver ‘$’ --amount 100

Below is a simple example of sending a payment using the packages ilp and ilp-protocol-spsp.

const ilp = require('ilp')
const spsp = require('ilp-protocol-spsp')

async function pay (recipient, amount) {
  const plugin = ilp.createPlugin()
  await plugin.connect()
  await, {
    receiver: recipient,
    sourceAmount: amount

// sending 0.0000001 XRP
pay('$', 100)