Overview

Digital currencies are all around us. Nowadays, it is relatively easy to become a holder of a digital currency, but it is not at all easy to become an issuer of a digital currency. Swaptacular tries to make creating and issuing new digital currencies practical for everyone. The Swaptacular project consists of three things:

  1. The network architecture.
  2. A set of interoperability protocols.
  3. Reference implementations for the interoperability protocols.

The network architecture

In Swaptacular’s network architecture, there are five types of nodes:

  1. Accounting Authorities manage user account balances. They form the backbone of the network.
  2. Currency Issuers create currencies and issue money into existence. In Swaptacular, they are also called debtors.
  3. Debtors Agents are proxies that connect currency issuers to accounting authorities. They may also act as guarantors to debtors.
  4. Currency Holders can make and receive payments. In Swaptacular, they are also called creditors.
  5. Creditors Agents are proxies that connect currency holders to accounting authorities. They may also facilitate automated currency exchanges between creditors.
Swaptacular Basic Network

The diagram above shows the simplest possible Swaptacular network. Note that different network nodes (accounting authorities, creditors agents, debtors agents) can be operated by different organizations or individuals. Thus, very much like Internet, Swaptacular’s network is decentralized by its nature.

Another important thing to note is that one creditors agent can connect currency holders to many different accounting authorities. The following diagram illustrates the connections that can exist between different types of nodes in a real-world network:

Swaptacular Real-world Network

The above diagram shows two different creditors agents, each connecting currency holders to two different accounting authorities. It also shows two different debtors agents, each connecting currency issuers to the same accounting authority.

Interoperability protocols

At the core of Swaptacular’s network architecture is the Swaptacular Messaging Protocol, which governs the communication between accounting authorities and debtors/creditors agents. The protocol uses a two-phase commit schema for making payments, which allows for the implementation of automatic currency exchanges in the spirit of Circular Multilateral Barter, eliminating the need for a single reserve currency.

In order to allow currency holders to use a client application of their choice, Swaptacular recommends creditors agents to follow the Payments Web API Specification.

Since interchangeability of client applications for currency issuing is not of critical importance, Swaptacular does not make recommendations about the Issuing Web API. (The reference implementation uses Simple Issuing Web API.)

Swaptacular takes the interoperability between different implementations very seriously, and tries to produce precise, clear, and concise specifications for every important aspect of the system:

Reference implementations

All the above implementations try to:

  1. Be correct.
  2. Be as simple as possible.
  3. Be useful in the real world.
  4. Demonstrate that an implementation that does scale very well horizontally, is indeed possible.

You can see examples how to run the different kinds of Swaptacular nodes here, here, and here.

Want to know more?