Skip to content

interledger/rfcs

Repository files navigation

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

  • 38: Settlement Engines

    Specifies an interface to send and receive payments across different settlement systems and ledgers.