This page is for developers participating in ABC Plan. The page needs at least four(4) different skills and knowledges.
Programming experiences in any language
Accounting principles and terms used in financial statements.
Financial engineering such as how capital market works and evaluating the values of various kinds of securities such as stocks and debts.
Artificial Intelligence such as abnormality detection and reinforcement learning algorithm.
If you feel short of any of those skills, don't hesitate to participating in Team Jupeter in which you can learn all of them day by day, year to year. You can use either English or Korean at the chatting room of Team Jupeter.
ABC Bank will provide at least one account to every economic entity including humans, machines, real estates and legal entities.
The default currency is ABC, and can be converted to any fiat currency based on Forex rates[Figure 1].
If you select a balance, a popup window appears by which you can send or convert some amount of the balance{Figure 2].
The text input fields provide auto-completion.
For example, Figure 3 shows when you select the abc balance and convert some of it to KRW, assuming the conversion ration between abc and KRW is 1:132.
Openhash
When a user changes her currency balances, the new data yields a new hash onto the hash chain of the Bank account.
The user sends its new data and the hash of the data to her local git server with the merge request and her digital signature.
The local git server, called 나무 or Tree, weaves the hash onto its hash chain, and sends the new hash to the user as a confirmation of the request.
When the user receives the confirmation, she again weaves the hash sent from the git server to her hash chain.
Above is the most simple form of the Openhash algorithm, and works background without the user noticing the process.
Pseudo Codes
For a short term, ABC will use the foreign exchange rates of the London Forex market, but, in a long term, ABC will use its own Forex market, ABC Forex, where any fiat currency will be traded one another. For that purpose, ABC Bank composes a currency reserve(=currency pool) in which the fiat currencies of all nations are kept proportionally to the economic size of each nation. For example, the Korean Won will occupy 2% of the pool as the economic size of Korea is 2 % of the size of the world economy.
As ABC Bank is a global bank and provides banking services all over the world, it receives deposits, of which currencies may be any, from multi-national customers.
The deposits of the Bank will be composed of all fiat currencies of the world.
So, foreign exchanges can be done within the Bank.
Forex Process
Select your currency account to convert all or some of the balance. For example, select the KRW balanch, ₩13,200.[Figure ]
A Forex popup window will show up. Select the target currency such as USD($) and amount to convert, such as ₩10,000. [Figure ]
The balance of each currency will be changed within 0.001 second.[Figure ]
Currency DB & Git
The Bank manages the data of who has what currencies how much.
As the Bank is a global bank with online branches for all the nations, the DB should be (1) big enough,(2) distributed, and (3) unbreakable . It is not easy to manage real time database of such scale.
Openhash is an algorithm to make and manage that big and unbreakable data.
Every account holder of the Bank has a git account which is installed at the region where he or she belongs to. The region is called 나무, Namu.
When a Bank user does a FX Transaction, he/she commits and merge requests his/her new currency balances to the git server of the Namu, together with his/her digital signature.
The Namu server checks FX rates and merge the new currency balances of him/her to the main branch of Namu.
Notice that every bank account holder and every git server automatically hash chain every new commit and merge.
You can the balances of all the currencies kept by the local git server, 나무.[Figure ]
Pseudo Codes
When you select a product at ABC Market, and pay the price, the transaction data will be sent by the Bank to the IRS(Internal Revenue Service) of your country.
When a transaction occurs, at least 4 entities update their own hash chains.
The transaction data will include;
The buyer and the seller ID.
The product ID.
The price.
The payment method.
The time and the geo data of the transaction.
The digital signature of the seller and the buyer.
The payment is done via her default currency such as abc and KRW etc., and she can order of currencies for payment. [Figure ]
The IRS will determine the validity and the tax rate to be applied the transaction, and send reply to ABC Bank. The reply includes;
Tax amount to be paid by either or both of the traders.
The digital signature of the IRS.
The last hash of the IRS.
When the Bank receives the reply, it transfers money from the buyer to the seller, and the tax amount to the IRS.
It weaves the hash from the IRS to its own hash chain.
It sends the money transfer details with its last hash to the traders.
Openhash - When the seller and the buyer receive the money transfer result from the Bank, they store the data and weave their hash chain with the hash from the Bank.
Notice
The transaction data is stored by the four different entities: the buyer, the seller, IRS and the Bank.
The hash chain of the four entities are weaved together so that no one can forge her data.
Like a normal bank, the Bank also receives deposits and sells loans.
The Bank has no physical office, but operates online branches all over the world, 193 nations.
The Bank receives any fiat currency of any nation, may convert it to any other fiat currency, but the default is to convert them into ABC and every deposit is denoted by ABC.
The interest rates of the deposits in the Bank are either (1) the average capital gains of the investments by the Bank or (2) specific capital gains from specific investments which are designated by the deposit holders of the Bank.
For example, if a user transfer some KRW(₩) amount to her account of ABC bank, the KRW amount is automatically converted into ABC[Figure ] and displayed as ABC balance of her ABC bank account[Figure ]. The interest rate of her ABC balance is determined by average capital gains of the Bank.
If the user want to keep KRW(₩) balance, then the interest rate of the KRW balance is determined by the Forex investment of KRW. That is, the rate is determined by the price change of KRW in Forex markets[Figure ].
The amounts and interest rates of each user is calculated based on the financial reports of her.
Loans to Bank users are denoted in ABC(T) only.
Like a normal bank, a user with better credit history and better healthy financial status, she is entitled with more loanable amounts and less loan interest rates. For example, the interest rate of loan(1000T) may be 6.74%, but her rate may be 8.80% for loan 5,000T[Figure ].
The Bank calculates 80 billion different loan interest rates and loanable amounts for 80 billion users of ABC bank. Yes, that's enormous number, but ABC is just a system which is assumed to do that kind of calculations.
The key revenues of normal banks are loan-deposit margin which is the difference between loan interest rates(revenues) and deposit interest rates(expenses).
Though ABC bank looks like a bank as its name denotes, it's not a BANK, but a system. There is no loan-deposit margin in ABC bank. Then, where comes the revenues of ABC Bank? The answer is nowhere. ABC Bank doesn't need any net income because there is no employees and no fixed operating expenses. That is, the revenue of ABC bank is same to the expense of it.
So, the loan-deposit margin of ABC Bank is just zero(0).
Interest rates are the price of money.
First, the Bank determines the interest rate of ABC balances of all the account holders. The rate is 2~3 times higher than the average deposit interest rates of ordinary banks other than ABC bank.
Determines the interest of specific fiat currencies. For example, the deposit interest rate of KRW(₩) balances is the capital gain of KRW investment in Forex market.
Determine the interest of ABC accounts which is the average of all capital investments of ABC bank, including ABC loans.
Then, the Bank calculates the interest rates of each loan which is same to the probable or expected revenue of the amount if the Bank invest it to other money demands in various capital markets.
Determining or calculating interest rates of deposits and loans are all mathematical processes including statistics and probabilities. It's not in the profession or scope of software developers, and an example of the ABC development budgets to be used for non-developers or experts other than software engineers.
Pseudo Codes
The capital and deposits of ABC bank should be invested in capital markets. One of which is ABC loans to users of ABC bank.
As every invest has risk, the expected revenue of each investment should be risk-adjusted, and the risk of each investment is calculate based on both (1) prevailing price of money in the capital market and (2) expected risk of the money consumer based on her financial reports .
A.I. is very good at this kind of jobs.
Banks are selling depositors' money as loans, and the prices are interest rates. Then How is a price of money determined? Like other commodities, it's determined by demand and supply.
Though various loan interest rates seem to be various prices of money, if interest rates are adjusted by their implied risks, the price of money at a given time is same all over the world. If any difference, then is an opportunity gain. So, the price of money alway becomes all the same, an equilibrium state, over the world.
In traditional financial engineering, human experts of financial companies calculate the value or price of various securities such as stocks and debts. But, there is no such expert in ABC bank as it's a system. The system itself calculates the price of each security.
The process of security valuation is;
Find out the price or interest rate of risk-free asset. Traditionally, US Treasury bonds have been regarded as risk-free assets, but they are NOT. Debts issued by ABC bank with the collateral of ABC gold reserve IS risk-free asset.
After finding out the price of risk-free assets, we can calculate the prices of other assets such as loans.
Generates and updates the financial reports of more than 80 billion people and business entities.
Classify all the financial reports into various groups. For example, the reports of 50 million Korean people and 5 million enterprises may be classified into 100~1,000 groups based on their legal statuses, assets and cash flows etc. [Figure ]
Calculate the default risk and redemption ratio of each group. Higher the risk of a security, higher the interest rate and lower the price of that.
When selecting an asset, a popup window of details appears. The details may include who issued the debt, when it is evaluated, which class it belongs to, and what is the probability of its default etc. [Figure ] [Figure ]
Again, A.I. is good for this kind of classification.
Though ABC bank calculates and provides the list of securities and their estimated prices(or interest rates), ABC account holders may choose specific securities to invest their money, ABC or else.
Let's see the equity or stock of Samsung Electronics. It's denoted by KRW(₩) as its face value, but it's not KRW. The same is for ABC. ABC is denoted by the price of gold, but, it's neither gold, nor equity or stock of ABC bank.
ABC 1T is denoted by 0.001g of gold, and it's the face value of ABC 1T, but it's NOT a stock of ABC bank. At the same time, the total number of ABC issued by ABC bank is the stocks or equity of the Bank.
Let's see an example why ABC is NOT a stock, but IS stocks of the Bank as the whole issued number.
Alice bought 1,000T of ABC company on its face value, 0.001g of gold, on July 1st, 2023 [Figure], and ABC Bank has launched on January 1st, 2026. At the launching date of the Bank, the market price or IPO of ABC 1T was 25 times of the face value, 0.025g of gold. So, the ABC balance of her changes from 1,000T to 25,000T on the launching date of ABC bank, January 1st, 2026.[Figure ] Notice that the price of 1T always reflects that of gold 0.001g.
Let's say, on January 2nd, 2026, the market expectation on the revenue of ABC bank is a little lowered. So, the total number of ABC reflects the change of the market value of ABC Bank. The total number of ABC issued reflects the market value of ABC bank which changes day by day. As the total number of ABC issued is changed, each ABC balance of the users are adjusted to the change of market expectation. [Figure ]
On January 31st, 2026, the revenue from capital investment of ABC bank is some amount, and that is distributed to already issued ABC. So, her ABC balance also increases in proportion to her current balance, the share of her balance in the total number of ABC issued. [Figure ]
So, ABC 1T is not ONE(1) share of ABC Bank, but the whole number of ABC issued is same to the whole number of stocks issued by ordinary companies.
Including ABC bank, all banks has risk of bank runs. To prevent it, ABC bank does;
All the fiat currencies collected via IPO are exchanged to golds as the reserve.
After IPO, no price changes in ABC 1T is reflected to gold reserve. That is, just book value of ABC 1T is reflected to all the ABC accounts.