The Swaptacular project consists of three main parts:
Together, these parts define how independent organizations can operate interoperable currency and payment systems without relying on a centralized ledger.
In Swaptacular’s network architecture, there are five types of nodes:
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, much like the Internet itself, Swaptacular’s network is decentralized by design.
A key point 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:
This second diagram shows two different creditors agents, each connecting currency holders to multiple accounting authorities. It also shows two debtors agents connecting currency issuers to the same accounting authority.
At the core of Swaptacular’s network architecture is the Swaptacular Messaging Protocol, which governs the communication between accounting authorities, debtors agents, and creditors agents.
The protocol uses two-phase commit to coordinate payments reliably throughout the network. This makes it possible to implement automated currency exchanges in the spirit of Circular Multilateral Barter, thereby reducing reliance on dominant reserve currencies.
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.
Because interchangeability between currency-issuing applications is less critical, Swaptacular does not currently define a standard Issuing Web API.
Swaptacular takes interoperability between independent implementations seriously and provides precise, clear, and concise specifications for every important aspect of the system:
All reference implementations aim to:
For testing, you can install and run a full set of Swaptacular network nodes on your laptop.
You can also deploy Swaptacular to Kubernetes clusters.