Specifications for Interledger and related protocols (see the table of contents in the README for which ones to read)
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Update CircleCI config.yml (#490) Oct 30, 2018
.github chore: fix newlines in stale message May 10, 2018
0000-node-requirements An ILP Connector requirements spec (#439) Oct 30, 2018
0001-interledger-architecture 0001: Update Interledger Architecture for ILPv4 (#485) Oct 25, 2018
0009-simple-payment-setup-protocol feat(0009): upgrade SPSP to STREAM Aug 1, 2018
0014-http-ilp Fix URL re-writer to handle fragments (#458) Aug 15, 2018
0015-ilp-addresses Amended ILP Address RFC, adding an explanation of a `segment` (#471) Oct 9, 2018
0018-connector-risk-mitigations Add versioning to RFCs (#206) Jul 18, 2017
0019-glossary docs(0019): add definitions for streaming and chunked payments (#350) Apr 10, 2018
0022-hashed-timelock-agreements fix: mention that the preimage may be known to Alice (#344) Nov 27, 2017
0023-bilateral-transfer-protocol Amended BTP RFC according to the implementation (#470) Sep 10, 2018
0024-ledger-plugin-interface-2 fix #302: describe how to recognize errors Mar 2, 2018
0026-payment-pointers Payment Pointers (#377) Feb 8, 2018
0027-interledger-protocol-4 Clarify that the executionCondition doesn't change Sep 5, 2018
0028-web-monetization docs(0028): expose asset details from ilp connection Sep 25, 2018
0029-stream doc(0029): expose asset details in stream (#483) Oct 10, 2018
0030-notes-on-oer-encoding Change RFC number (#437) May 24, 2018
0031-dynamic-configuration-protocol Fix URL re-writer to handle fragments (#458) Aug 15, 2018
0032-peering-clearing-settlement Fix headings on RFC 32 (#472) Aug 29, 2018
0033-relationship-between-protocols Relationship between protocols (#465) Aug 28, 2018
0034-connector-requirements Assign RFC number (#489) Oct 31, 2018
asn1 First draft of ILDCP spec (#446) Aug 15, 2018
assets chore: add oss logo (#462) Aug 20, 2018
deprecated chore: move deprecated specs (#461) Aug 16, 2018
scripts Fix URL re-writer to handle fragments (#458) Aug 15, 2018
shared/graphs 0001: Update Interledger Architecture for ILPv4 (#485) Oct 25, 2018
tmpl Deprecate RFC 4 (#378) Feb 7, 2018
.gitignore Relationship between protocols (#465) Aug 28, 2018
CONTRIBUTING.md Update to clarify patent and copyright (#495) Nov 19, 2018
LICENSE Add CC-BY-SA 4.0 license (#492) Nov 8, 2018
README.md chore: add oss logo (#462) Aug 20, 2018
package.json Add versioning to RFCs (#206) Jul 18, 2017


Interledger RFCs gitter

This repository contains a collection of various specifications and documentation related to the Interledger Protocol (ILP). These documents or requests-for-comment (RFCs) are published by various authors and publication here does not imply official status unless otherwise specified in the document.

The process for submitting an RFC is documented in the RFC Process.

For the main reference implementation of the ILP stack, see Interledger.js.

ASN.1 and OER

A number of the protocols define data structures in ASN.1 notation. The collection of definitions is in asn1.

Changes to these files are automatically checked and compiled during CI using online ASN.1 tools from OSS Nokalva. If you need ASN.1 tools for any work you're doing on Interledger please contact them for assistance.

OSS Nokalva

You can also check your ASN.1 definitions online using OSS Nokalva's ASN.1 Playground available at http://asn1.io/

The default encoding rules for Interledger protocols are the Canonical Octet Encoding Rules as described in Notes on OER encoding.

Interledger Overview and Explanatory Docs

Core Interledger Protocol Specs

  • 27: Interledger Protocol V4 (ILPv4)

    Specifies the Interledger Protocol and Interledger Packet, which are used for sending payment instructions across different ledgers and connectors. This is the core protocol in the Interledger stack.

  • 15: ILP Addresses

    Specifies the Interledger Address format for ledgers and accounts.

Protocols Built Upon ILP

  • 9: Simple Payment Setup Protocol (SPSP)

    A basic Application Layer protocol that uses HTTPS to exchange details needed to set up an Interledger payment.

  • 29: STREAM

    The recommended Transport Layer protocol for most use cases, which handles quoting, individual payments, chunked payments, and streaming payments using a shared secret between the sender and receiver.

Ledger Layer