Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Payment Sockets - Interledger Community Group Presentation


Published on

Brief overview of Payment Sockets, which are an experimental protocol built on Interledger V4 (ILPv4) for opening bidirectional streams of money. They can be used for push payments, pull payments, invoices, gift cards, and streaming payments.

Presented during the Interledger Community Group call on February 21, 2018.

Payment Sockets are currently implemented in:

Join the Interledger Community group mailing list and bi-weekly calls by going to:

Published in: Technology
  • Login to see the comments

Payment Sockets - Interledger Community Group Presentation

  1. 1. Payment Sockets Interledger CG Call - Feb 21, 2018 Evan Schwartz @_emschwartz
  2. 2. Payment Sockets are a protocol built on PSK2 for opening bidirectional streams of money
  3. 3. Proposed by @justmoon and @sharafian in rfcs#388
  4. 4. Interledger Architecture ILPv4 XRP-PayChan Lightning ETH-PayChan ERC20-PayChan Interledger Ledger Transport PSK2 Application SPSP HTTP-ILP Codius/Cog ... Payment Sockets
  5. 5. Spectrum of Protocols on top of PSK2 Single Chunks Simple Chunked Sender Payment Sockets TCP- Over-ILP Pure PSK2 More Complex
  6. 6. USE CASES ● Push Payments ● Pull Payments ● Invoices ● Gift Cards ● Streaming Payments
  7. 7. Payment Sockets are virtual connection between a “client” and a “server” over an Interledger connection Client Server Interledger
  8. 8. Payment Sockets can be used for sending or receiving Client Server
  9. 9. Money can be sent by lowering the Maximum Balance (e.g. Push Payments, Gift Cards) Client Server Balance: -1000 Balance: 1000 MinBal: -1000 MaxBal: -1000 MinBal: 0 MaxBal: ∞
  10. 10. Receiver can raise its Minimum Balance to disable refunds Client Server Balance: -1000 Balance: 1000 MinBal: -1000 MaxBal: -1000 MinBal: 1000 MaxBal: ∞
  11. 11. Or Receiver can keep their Minimum at zero to enable refunds Client Server Balance: 0 Balance: 0 MinBal: 0 MaxBal: 0 MinBal: 0 MaxBal: ∞
  12. 12. Either side can request money by raising their Minimum Balance (e.g. Pull Payments, Invoices) Client Server Balance: 2000 Balance: -2000 MinBal: 2000 MaxBal: ∞ MinBal: -4000 MaxBal: ∞
  13. 13. More can be requested by raising the Minimum further (e.g. Streaming Payments) Client Server Balance: 3000 Balance: -3000 MinBal: 3000 MaxBal: ∞ MinBal: -4000 MaxBal: ∞
  14. 14. Payment Sockets (will) automatically handle exchange rates, chunking, flow control, errors
  15. 15. Follow the development at: