Since I wrote the original value layer blog post, I’ve wanted to expand on the idea and start cataloging the different global systems connected through these primitives. At one point, I had hoped to get folks to contribute to it as an open-source project. Due to time constraints, that never happened, but I finally had some time between a series of calls this week.
TL/DR – I built this out and put it into a model. You can play with it below or at this link. Here is a fast example of using the primitives to organize the data. ValueType is first, throw in TransferType, layer on _Issuer and it starts to look pretty cool.
And an example of using it to look up TransferType for a ValueType:
The project has an MIT license, so you can download and add to it however you want. I’d appreciate you providing attribution if you do use it.
The original blog focuses on USD, but with this model, it’s much easier to search for specific currencies and quickly get to ACH or real-time systems supporting that currency. For example, you can dig into Romania (_Issuer), to RON (_ValueType), and ReGis, Plati Instant, and TransFonD SENT ACH (_TransferType) and duplicate this for every country and currency I’ve added.
Each data point has one of a small number of associated labels:
|_ValueType||The symbol for the value, in this case, the currency symbol|
|_TransferType||How the value can be value around electronically|
|_Issuer||The country issuing the currency|
|Concept||This is just used once for Value Layer|
I pulled together a starting point for a global view using Wikipedia, good old Google, and the Flavors of Fast report. A few things to mention:
- I found several errors on Wikipedia and potential missing information on Flavors of Fast. The report is not recent, but if you find differences, it’s because both have flaws. One example is that the term RTGS is used in various places, which implies the same system, but in reality, there are similar words/acronyms used in multiple parts of the world. I did my best to segment when the systems were different.
- I have yet to add third-party closed ecosystems (Dwolla, CashApp, Paypal), which are additional TransferTypes for various currencies. I decided to restrict my workload for the day/force myself to work with the little time I had.
- The model still needs to extend into Cryptocurrency ecosystems, yet. I did not add those for the sake of time but intend to in the future.
- I added the concept of an _Issuer and called out the country but not the central bank of whatever government is responsible for issuing a ValueType. I did this to save myself time, but it would be a worthwhile addition in the future.
- You might ask yourself why use value instead of currency, and the answer is that not all value is government-issued currency. Once this model expands out of government-issued currency, this will make more sense.
- I did not include references knowingly to any CBDC or government-backed digital dollar projects. I know these are missing and I hope to add them when/if time allows.
When I say Value Layer, this is the expanded view of what I see in my head. Without some intolerability, just a bunch of geographically focused currencies, issuers, and transfer mechanisms.
Adding some context brings it all together.
If nothing else, I’m excited that I have a place to search for this instead of googling when I need to remember something. If you’d like to contribute to the project, let me know. Not perfect, but a good start. Here is a IPFS link for the JSON in the model as-is. The data is listed below from the model as of me posting this.
I hope this benefits a few folks as you wrap your head around the global payment stack. If you have feedback, please don’t hold back.