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.
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
Overview of the Interledger architecture.
Definitions of Interledger terminology.
Core Interledger Protocol Specs
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.
Specifies the Interledger Address format for ledgers and accounts.
Protocols Built Upon ILP
A basic Application Layer protocol that uses HTTPS to exchange details needed to set up an Interledger payment.
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.
Specifies an interface to send and receive payments across different settlement systems and ledgers.