Swaptacular is free software that strives to make creating and issuing new digital currencies practical for everyone. The Swaptacular project consists of three things:
- The network architecture.
- A set of interoperability protocols.
- Reference implementations for the interoperability protocols.
In Swaptacular's network architecture, there are five types of nodes:
- Accounting Authorities manage user account balances. They form the backbone of the network.
- Currency Issuers create currencies and issue money into existence. In Swaptacular, they are also called debtors.
- Debtors Agents are proxies that connect currency issuers to accounting authorities. They may also act as guarantors to debtors.
- Currency Holders can make and receive payments. In Swaptacular, they are also called creditors.
- Creditors Agents are proxies that connect currency holders to accounting authorities. They may also facilitate automated currency exchanges between creditors.
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.
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 two-phase commit for making payments, which allows for the implementation of automated currency exchanges in the spirit of Circular Multilateral Barter, reducing dependence on a dominant 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.
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.
- Accounting Authority
- Debtors Agent
- Creditors Agent
- Circular Trade
- Service that manages OAuth2 login and consent
- Currency Issuer UI
- Currency Holder UI
- Swaptacular Web API reverse proxy
- STOMP protocol client and server
- Managing Swaptacular certificate authorities
All the above implementations try to:
- Be correct.
- Be as simple as possible.
- Be useful in the real world.
- Demonstrate that an implementation that scales very well horizontally, is indeed possible.
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.