Skip to content

Instantly share code, notes, and snippets.

@BaldyAsh
Last active January 5, 2024 10:05
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save BaldyAsh/3676a18b003758057f634c9af2cfe49a to your computer and use it in GitHub Desktop.
Fathom Protocol 1.0 Whitepaper

Fathom 1.0 Whitepaper

Fathom

Table of contents

1 Introduction

Fathom Protocol is a decentralized finance ecosystem built on the XDC network. The Protocol's purpose is to increase the liquidity of the XDC network and make FXD, over-collateralized and soft-pegged Stablecoin, a central part of the XDC network DeFi ecosystem.

In the future, Fathom Protocol will tokenize real-world assets (RWA) that can be used as collateral to mint FXD in addition to XDC, thus providing traditional asset exposures for Fathom Protocol users.

Fathom's Decentralized Exchange (DEX) serves as the main trading venue for XDC and FXD, bringing additional liquidity to the XDC network. In the future, tokenized real-world assets will be traded on the Fathom DEX, further increasing the liquidity of the XDC network.

Fathom's Decentralized Autonomous Organization (Fathom DAO) is an essential part of the Fathom Protocol and consists of the FTHM token, Governance, and Staking. FTHM token holders can earn in FTHM Staking rewards for their contribution to the ecosystem and gain voting power to participate in decision-making through the Governance process.

The Fathom Protocol is designed to be the focal point for all DeFi needs on the XDC network, providing a secure decentralized environment for users to deploy their assets in various ways. With our innovative solutions, Fathom Protocol will play a crucial role in the future of DeFi and the XDC Network. We strongly believe in RWA and that their integration into DeFi services will benefit users while boosting growth on the XDC network.

In conclusion, Fathom Protocol offers a complete and integrated DeFi solution for the decentralized economy by providing a stable and secure Stablecoin, a decentralized exchange, and community-driven Governance.

2 Why Fathom?

The Fathom Protocol aims to address several issues in the DeFi space, including:

  • Lack of liquidity in the XDC network - By introducing a stablecoin (FXD) as a central part of its DeFi ecosystem, Fathom aims to provide more liquidity and usability to the XDC network and its partners.
  • Dependence only on centralized oracles - Fathom uses decentralized oracles eliminating the dependence on centralized oracles and improving the decentralization of the DeFi ecosystem.
  • Lack of transparency and community decision-making - The Fathom Protocol is governed by a DAO driven by FTHM token staking and community governance. This provides transparency and allows for community-driven decision-making throughout the Protocol's development.
  • Limited incentivization sources for DeFi users - Fathom uses XDC coins locked in Fathom Treasury to accrue more XDC by staking them in Liquid Staking Module. Liquid Staking rewards are routed to and stored in Treasury. Any distributions will be subject to the Fathom Governance process and decisions. In addition, Fathom plans to provide additional exposure for DeFi users through farms for XDC and tokenized RWA.

Fathom Protocol aims to bring more liquidity, incentivization, and decentralization to the XDC network through its Stablecoin (FXD), DAO (Governance and Staking), incentivization incentives through Governance voting (Liquid Staking, farms) and DEX.

3 Fathom Protocol

Fathom Protocol Overview

3.1 FXD Stablecoin in detail

FXD is a stablecoin designed to maintain a soft peg to the US Dollar. The value of FXD is designed to remain stable, with a slight fluctuation allowed around the target value.

FXD may be borrowed when the user gains the required borrowing power through the collateralization mechanism. The first source of borrowing power in Fathom Protocol is the deposited XDC (the native coin of the XDC network) as collateral for FXD.

In the future, Fathom Protocol will allow onboarded RWA to be used as possible collaterals for FXD. The stability of FXD is maintained through various mechanisms, including price oracles, Stable Swap, and a risk management system.

FXD Key Features

3.1.1 How the price of FXD remains stable

Fathom Protocol uses a combination of mechanisms to maintain the stability of FXD and keep its price close to 1 asset-backed USD stablecoin (abUSDs). These mechanisms are:

  1. Over-collateralization: The FXD stablecoin is over-collateralized, meaning that the value of the underlying collateral is always greater than the value of the FXD stablecoin. This helps to ensure that the FXD Stablecoin remains price stable, even during volatile market conditions.
  2. Liquidation mechanism: The Fathom Protocol has a liquidation mechanism that automatically liquidates collateral debt positions at risk of becoming under-collateralized. This improves stability and helps to prevent the FXD price from becoming too volatile.
  3. Stable Swap Module: FXD has an internal Stable Swap Module, through which approved users can buy and sell FXD for abUSDs at a rate of 1:1 with low fees. This provides an easy and accessible way for users to exchange FXD for abUSDs or vice versa. Additionally, it makes it easier for arbitrageurs to maintain the peg by taking advantage of price discrepancies between FXD and abUSDs.
  4. Borrowing interest - the amount a borrower pays to Fathom Protocol for borrowing FXD. The Protocol allows the manipulation of borrowing interest. If the FXD price on Fathom DEX or other sources goes above 1 abUSDs, the borrowing interest can be lowered, incentivizing users to mint new FXD. This creates pressure to bring the price back to the 1 abUSDs peg. Conversely, if the FXD price goes below 1 abUSDs, the borrowing interest can be increased, incentivizing users to buy back FXD to close their borrowing positions because they have become expensive. This decreases in FXD circulation amount leads to an increase in the price of the 1 abUSDs peg.

Combining these mechanisms, the Fathom Protocol provides a secure and reliable foundation for decentralized finance applications. Furthermore, the stability of FXD price is ensured by constantly adjusting the supply and demand of FXD and abUSDs and maintaining a fixed rate between the two assets. This makes FXD a stable and dependable store of value for decentralized finance applications.

3.1.2 FXD over-collateralization

The collateralization amount of XDC for FXD is determined by the collateralization ratio set by the Fathom Protocol (133.33% on Protocol launch, with the Loan To Value ratio set to 75%). This ratio determines the minimum amount of XDC required to be locked up as collateral for every unit of FXD borrowed. The Fathom DAO decides the exact collateralization ratio through the governance process and is designed to maintain the stability of the FXD peg to the US dollar. For example, suppose the price of XDC drops below a certain level. In that case, the Protocol may trigger a liquidation event, which involves selling off some of the XDC collateral to maintain the stability of the FXD Protocol.

Over-collateralization of the FXD stablecoin increases its stability by providing a cushion against potential price volatility.

When a user creates a collateral debt position with XDC coins, the XDC deposited is worth more than the FXD stablecoin issued. This excess collateral is a buffer against any price fluctuations of the FXD stablecoin. For example, if the price of FXD decreases, the excess collateral ensures that sufficient assets are still backing the Stablecoin's value.

In the event of significant price movements, the Fathom Protocol liquidators are incentivized to liquidate positions with insufficient collateral to maintain the desired level of over-collateralization. This helps to ensure the stability of the FXD stablecoin and protects against the potential devaluation of the FXD stablecoin. In summary, over-collateralization provides an added layer of stability to the FXD stablecoin, as it helps to ensure sufficient assets are backing the Stablecoin's value, even in the event of price volatility.

3.1.2.1 Collateral Debt Positions

A collateral debt position is a type of financial instrument in which a borrower pledges an asset as collateral for a loan. In the context of the Fathom Protocol, a CDP is created when a user deposits XDC coins as collateral to issue FXD stablecoins. When users want to get back their collateral, they must return the debt of the FXD stablecoin (if any) and a stability fee (accrued interest) owed.

3.1.2.2 New collaterals and RWA as collaterals

Real-world or intangible assets exist in the physical world, such as real estate, commodities, or patents. In the context of the Fathom Protocol, real-world assets may be tokenized and used in Fathom Protocol to get borrowing power to generate FXD, a stablecoin. Using real-world assets as collateral can provide more security and stability to the Fathom Protocol than using only digital assets. This also attracts new users and investors to the Fathom ecosystem interested in utilizing real-world assets in their financial strategies.

Expanding the collateral options for the FXD stablecoin increases its stability and soundness in several ways:

  1. Diversification of Collaterals: The risk of a single asset class affecting the stability of the FXD stablecoin is reduced by having multiple collaterals. This helps to ensure that the Stablecoin remains stable even if one of the collateral asset classes experiences significant price fluctuations.
  2. Increased Collateral Value: The addition of real-world assets as collateral options is likely to increase the overall value of the collateral pool. This, in turn, will increase the security of the FXD stablecoin, as more assets will be backing the Stablecoin's value.
  3. Improved Liquidity: The addition of real-world assets may also increase the liquidity of the collateral pool, making it easier for users to trade in and out of the Stablecoin. This can help to ensure that the FXD stablecoin remains stable, even during periods of high demand or volatility. Integration of real-world assets also creates a secondary on-chain market further increasing liquidity.

In summary, expanding the collateral options for the FXD stablecoin helps to increase its stability and security by reducing risk, increasing the value of the collateral pool, improving liquidity, and increasing user trust.

3.1.2.3 Interest for closing CDP

In the FXD stablecoin, users may need to pay an interest fee when they close their CDP. This interest fee is named the stability fee and is determined based on the time the user held the debt and the rate set by the Protocol. The stability fee is a mechanism to incentivize users to repay their debt and maintain the stability of the FXD stablecoin.

The stability fee rate is a Stablecoin term for yearly interest rates. It is compounded per second. The stability fee rate per second is calculated as a percentage of the outstanding debt with the formula below. (1 + r) ^ (1 / 31536000), When r is the annual interest rate of borrowing FXD.

The Protocol stability fee will be set to 200 bps on launch in Fathom. For example, if a user has an outstanding debt of 100 FXD and considers the stability fee to be set at 2%, then after one year, the interest owed would be 100 * (1 + 0.02) = 102 FXD.

It's important to note that users need to pay the stability fee to close their CDPs. Therefore, users are encouraged to buy FXD from the market and pay the interest. Paying interest shrinks the circulation amount of FXD.

If users refuse to pay the stability fee and keep CDPs open, interest will accrue and put positions underwater. In such cases, positions will be liquidated. Liquidation of underwater positions ensures the stability of FXD stablecoin and reduces the risk of going into default.

3.1.2.4 Usage of stability fee

The stability fee is an additional amount charged to CDP holders when they close their positions. This fee helps cover the potential losses that incur when the position's liquidated collateral value is not enough to cover the position's debt value. The stability fee pool is a collection of these fees, and the remaining balance after covering any bad debt can be considered revenue for the Fathom Protocol. This fee is an important mechanism to ensure the stability and soundness of the FXD Stablecoin system by incentivizing responsible lending and borrowing behavior and compensating liquidators for their role in maintaining the stability of the Protocol.

3.1.2.5 What is bad debt?

Bad debt refers to Fathom Protocols' loss as the lender. This occurs when the borrower has insufficient resources to repay the debt, causing the lender to suffer a financial loss. In the context of FXD and its CDP mechanism, bad debt is recorded when the collateral held in a CDP is insufficient to repay the debt owed, and a liquidator must step in to cover the loss. The stability fee is used to cover the cost of such bad debt.

3.1.2.6 What part of the stability fee may be considered Fathom revenue?

A stability fee is used to cover bad debt for liquidators, but the remaining part may be considered Fathom Protocol revenue after covering the bad debt. The remaining stability fee is allotted to the Fathom treasury and can cover operational expenses, fund future developments, or be distributed to stakeholders. However, it's important to note that the exact allocation of stability fee revenue depends on the governance decisions made by the Fathom DAO, as it is a decentralized Protocol, and the community makes the final decisions on how to allocate the fund's budget.

3.1.3 FXD Fixed Spread Liquidation Strategy

The Fixed Spread Liquidation (FSL) model for the FXD Protocol is designed to manage the risk of CDPs in the Protocol. The basic premise of the FSL model is to maintain a healthy level of over-collateralization for CDP positions to protect the Protocol against sudden market swings or black swan events.

In the Fathom FSL model, a CDP is considered healthy if it is over-collateralized by the pool-specific ratio. For example, for XDC pool, this ratio will be set to 133.3%. This means that the value of the XDC used as collateral must be at least 33.3% higher than the value of the debt taken out in FXD. This helps to ensure that the CDP has enough cushion to absorb any losses in the market and to prevent the liquidation of the CDP if the market takes a sudden downturn.

Suppose the collateral value falls below the minimum over-collateralization threshold or Loan to Value (LTV) ratio exceeds its limit. In that case, the CDP is considered to be in a state of under-collateralization. In this case, the FSL model triggers a liquidation event, which involves selling off some of the collateral to repay the debt and restore the over-collateralization ratio to a healthy level.

The FSL model for FXD uses special software called a liquidation bot to monitor the health of CDP positions in real time. The liquidation bot can automatically trigger a liquidation event if a CDP falls below the minimum over-collateralization threshold, ensuring a seamless and efficient liquidation process.

In summary, the FSL model for FXD is designed to maintain a healthy level of over-collateralization for CDP positions to prevent the liquidation of CDPs in a market downturn or black swan event. The FSL model uses a liquidation bot to monitor the health of CDP positions and trigger liquidation events when necessary to ensure the stability of the Protocol.

3.1.3.1 FXD LTV

In Fathom Protocol, LTV is described as LTV = Value of FXD issued / Value of collateralized Assets

LTV on the Fathom Protocol launch will be set at 75% to ensure a 133.33% minimum over-collateralization for CDPs. The Protocol is considered solvent when the issued amount or value of debt is lower than the value of collateralized assets.

For example, assuming that the user provided a collateralized asset worth $100, the maximum amount of debt that can be issued is $100 * 0.75 = $75 in FXD equivalent.

This means that the FXD issued must remain solvent at most 75 FXD.

Let's assume that the issued debt is 60 FXD.

If the total value of collateralized assets plummets to $75 down from $100

The newly established cap of the total debt becomes $75 * 0.75 = $56.25

In this case, a $60 - $56.25 = $3.75 debt is issued over the solvent level.

Due to this, the Protocol needs to liquidate unhealthy or insolvent CDPs to lower the issued debt level.

3.1.3.2 FXD Liquidation process

The FXD stablecoin in the Fathom Protocol has a private pool of liquidators who use special software called a liquidation bot to liquidate risky collateral debt positions (CDPs). The purpose of the liquidation bot is to ensure the stability of the FXD stablecoin by automatically liquidating CDPs at risk of under-collateralization.

Here is an overview of the liquidation process:

  1. Monitoring: The liquidation bot continuously monitors the value of the collateral in each CDP to determine if the market price of the collateral is below the liquidation price. For example, it found the position of 60 FXD with 100 XDC collateral which price went down below the health factor to $75 like in the example above, and now 25% of the position, which means 60 FXD * 0.25 = 15 FXD is subject for liquidation. Additionally, Protocol will charge an FXD liquidation fee of 10% on top of the liquidated amount of 15 FXD * 0.1 = 1.5 FXD, which makes the amount of liquidated FXD 15 FXD + 1.5 FXD = 16.5 FXD.
  2. Triggering: If the value of the collateral falls below the liquidation price, the liquidation bot triggers a liquidation of the CDP. It will try to liquidate 25% of the position. Our example position will remain locked with 60 FXD - 16.5 FXD = 43.5 FXD. Considering the new cap of total debt $75 * 0.75 = $56.25, the new debt of 43.5 FXD is lesser than it, and the position is healthy. When liquidation of 25% of FXD isn't enough to make the position healthy - all position values will be liquidated. So, for example, if the price went down significantly - to $50, it makes a new cap of total debt $50 * 0.75 = $47.6. And liquidating 16.5 FXD doesn't make the position healthy. So, in that case - the whole position value will be liquidated.
  3. Selling Collateral: The liquidation bot automatically sells the collateral in the market to pay back the FXD stablecoin issued. This helps to restore the level of over-collateralization in the CDP.
  4. Repaying Loan: The proceeds from the sale of the collateral are used to repay the FXD Stablecoin loan issued from the CDP.
  5. Restoring Over-Collateralization: By liquidating the CDP, the level of over-collateralization is restored, ensuring the stability of the FXD stablecoin.

In summary, the liquidation process in the Fathom Protocol is initiated by the liquidation bot, which continuously monitors the value of the collateral in each CDP and triggers a liquidation if the value falls below the liquidation price. The liquidation bot then sells the collateral in the market to pay back the FXD Stablecoin loan and restore the level of over-collateralization in the CDP.

3.1.3.3 FXD Liquidation fee and liquidator incentive

FXD Liquidation fee is a position holder penalty of an extra 10% of his collateralized position value when it is liquidated. Following the example above, CDP has 100 XDC and a debt of 60 FXD. 25% of debt is subject to liquidation - 60 FXD * 0.25 = 15 FXD. 10% of 15 FXD will be additionally charged as a liquidation fee. So liquidation fee in that case is 15 FXD * 0.1 = 1.5 FXD

There are two parameters in the Liquidation fee. First is the liquidator incentive, which is 20% of the liquidation fee made to encourage the participation of the liquidator and compensate for taking on risk. And second is the Fathom Protocol fee, which is 80% of the liquidation fee.

For the described case liquidator will take 1.5 FXD * 0.2 = 0.3 FXD, and Fathom Protocol will take as revenue 1.5 FXD * 0.8 = 1.2 FXD.

3.1.4 FXD Stable Swap

The FXD Stable Swap mechanism is designed to maintain the price stability of the FXD stablecoin. It operates as a pegging mechanism that forces arbitragers to keep the price of FXD stable and equal to 1 US dollar. In addition, the Stable Swap mechanism allows users to trade FXD for abUSDs (another stablecoin) in a pool. The swap rate on this pool is always 1 FXD = 1 abUSDs.

When the price of FXD deviates from its target price of 1 US dollar, arbitragers can trade FXD for abUSDs in the Stable Swap Module. If the price of FXD is higher than its target price, arbitragers can buy abUSDs in the market, swap it for FXD in Stable Swap Module, then sell FXD in the market. If the price of FXD is lower than its target price, arbitragers can buy FXD in the market, swap it for abUSDs in Stable Swap Module, then sell abUSDs in the market. These actions bring the market price of FXD to its target price.

A fee of 0.25% is charged for each trade in the Stable Swap module. This fee is considered 100% Protocol revenue. A stable swap fee is charged to users who swap FXD to abUSDs or swap abUSDs to FXD. Fees are charged with FXD. If a user swaps 100 abUSDs, he will receive 100 * (1 - fee) FXD = 100 * 0.9975 FXD = 99.75 FXD. If a user wants to receive 100 abUSDs, he needs to pay 100 * (1 + fee) FXD = 100 * 1.0025 FXD = 100.25 FXD.

To protect the Stable Swap pool from being withdrawn by an attacker, the Stable Swap pool has an account-related daily swap limit and swap frequency rate. Stable Swap will have a private list of possible participants to protect the pegging mechanism from attackers. Also, a Stable Swap pool may be configured to have an account-related daily swap limit and swap frequency rate. Stable Swap may utilize the decentralized model by the decision of the Fathom Governance when Protocol liquidity grows enough.

In summary, the FXD stable swap mechanism is designed to maintain the stability of the FXD price by providing a pool where arbitragers can trade FXD for abUSDs. This mechanism ensures that the price of FXD remains close to its target price of 1 US dollar, enhancing its usefulness and stability of the FXD stablecoin.

3.1.4.1 Stable Swap limitations

Main configurable Stable Swap limitations:

  • Private list of participants.
  • Account-related daily limit - each account has its swap limit in the Stable Swap pool.
  • Swap frequency rate (1 swap/block for an account) - protects Stable Swap pool from being overused in a moment by an attacker trying to spam the network.

The Fathom Protocol maintains a stable and secure environment by implementing those limitations.

Governance and a multi-sig mechanism can change the Stable Swap limitations to respond to unexpected situations and remove risk. This allows for greater flexibility and adaptation to changing conditions and helps to ensure the stability and security of the Fathom Protocol. The Multi-sig mechanism can be activated by a group of trusted individuals authorized to make decisions about the Protocol to protect its users and maintain its stability.

3.1.5 FXD CDPs price updates

The Fathom Protocol uses Price Oracles to determine the current market price of different assets used as collateral in the Collateralized Debt Positions (CDPs).

Price Feed uses several price sources (utilizing Volume-Weighted Average Price (VWAP) model). If prices significantly differ - the new price won't be accepted by protocol.

The Fathom Protocol updates its price once in 15 minutes to balance maintaining an up-to-date price and ensuring the system's stability. If the price were updated more frequently, it would be more prone to rapid changes and fluctuations, which could impact the system's stability.

On the other hand, updating the price too infrequently could result in a significant gap between the actual market price and the price used by the Fathom Protocol, which could also impact its stability. By updating the price once in 15 minutes, the Fathom Protocol aims to balance these considerations and maintain a stable system.

When 15 minutes have passed, a Price Bot triggers a price update in the Stablecoin smart contracts. The Price Bot retrieves the latest price information from the price oracle and stores it in the FXD smart contracts. This allows the Fathom Protocol to maintain up-to-date pricing information for all assets used as collateral.

The Fathom Protocol also includes a price update protection mechanism. If the price hasn't been updated within 60 minutes, all actions with CDPs are blocked until the price is updated, either through the Price Bot or manually by calling the smart contract's set price function.

In this way, the Fathom Protocol ensures that the prices used in its operations are accurate and up-to-date, reducing the risk of incorrect pricing information leading to user losses.

3.1.6 Flash mint of FXD

FXD Flash mint is a short-term, high-risk loan that allows borrowers to access funds quickly without needing collateral. Here's how to flash mint works:

  • Borrowing funds: A borrower can request a flash mint of FXD.
  • No collateral: Unlike traditional loans, flash mints do not require the borrower to provide any collateral to secure the loan. This means the borrower can quickly access funds without putting up any assets as collateral.
  • Using the loan: The borrower can use the FXD from the flash loan for any purpose, such as to trade on a decentralized exchange, participate in DeFi Protocols, or purchase other products and services within the Fathom ecosystem.
  • Repaying the loan: The loan must be repaid within one transaction with 0.1% interest in FXD applied. This interest is 100% Fathom Protocol revenue.

It's important to note that flash mint is a high-risk financial instrument and should be used with caution. Borrowers must fully understand the terms and conditions of the loan and only borrow what they can afford to repay within one transaction.

For example:

User flash mints 100 FXD. Considering 0.1% interest, he must repay in the same transaction 100 * 1.001 = 100.1 FXD.

3.1.7 Possible risks for FXD

Like any other financial system, FXD faces certain risks that can impact its stability and security. Here are some of the main risks associated with FXD:

  1. Market risk: FXD is subject to market volatility and changes in demand for the underlying assets. This can impact the stability of the FXD price and lead to losses for users who hold the token.
  2. Liquidity risk: FXD requires sufficient liquidity in its market to respond to changes in demand. If liquidity is low, it may be difficult to trade FXD, and the price may be subject to larger fluctuations.
  3. Regulatory risk: FXD may be subject to changing regulations, which could impact its operations, stability, and security.
  4. Smart Contract risk: FXD is based on smart contract technology, and like any decentralized system, it may contain vulnerabilities that malicious actors could exploit.
  5. Price manipulation risk: FXD may be subject to price manipulation, either through the actions of large players in the market or malicious actors who use tactics like wash trading to inflate the price artificially.

These are some key risks associated with FXD, but it is important to remember that this is not an exhaustive list and that there may be other risks specific to the Fathom Protocol and the FXD token.

3.1.7.1 Protection from possible risks for FXD

Except for Protocol native risks that ensure FXD stability related to pegging mechanisms, Fathom Protocol implements common ways of protection for all smart contracts in case some vulnerability is found and exploited.

More details about Fathom Smart Contracts' security practices are described in the related section.

3.1.7.2 Emergency Shutdown

Emergency Shutdown is the process that Multisig Treasury may initiate to block all smart contracts from being processed and allow FXD holders to redeem their collaterals for the last safe price.

Emergency Shutdown protects the Fathom Protocol against attacks on the infrastructure, hacks, false significant price deviations from oracles, and long-term market irrationality.

Emergency Shutdown ensures that all FXD holders can receive their assets' net value by allowing them only to redeem their collaterals. After Emergency Shutdown event occurs, Fathom Governance determines the period after which this process will be available and the redemption price. Fathom will provide a web page and process description for this purpose. There will be no race condition, and FXD holders can withdraw the relative amount of collateral no matter when they decide to do so.

3.2 Fathom DAO

Fathom DAO is the decentralized autonomous organization that governs the Fathom Protocol. It operates through a decentralized governance structure where token holders can make decisions regarding the Protocol's direction and development.

The Fathom DAO uses smart contracts and voting mechanisms to allow token holders to propose and vote on changes to the Protocol.

The goal of the Fathom DAO is to ensure the long-term stability and success of the Fathom Protocol by giving its users a say in its development and future.

In addition, the Fathom DAO is designed to provide transparency and accountability, as all decisions and voting processes are recorded on the blockchain for anyone to review.

Fathom DAO

3.2.1 Fathom Token (FTHM)

FTHM is the governance token (XRC-20) for the Fathom Protocol, which means it is used to give holders a say in how the Protocol operates and evolves.

FTHM holders can participate in staking to earn rewards in FTHM.

Additionally, staking FTHM tokens generates vFTHM tokens, which gives holders a share of the voting power in the Protocol's governance process.

The vFTHM tokens are used to cast votes on proposals that affect the direction and future of the Fathom Protocol, and a minimum of 1.000.000 vFTHM are needed to create a proposal and vote for it. vFTHM tokens may be delegated to another party to grant it more voting power. Delegating voting power doesn't result in actual vFTHM sending. That's only the "power" of them.

FTHM tokens can also be used for other purposes within the Fathom ecosystem. The specific mechanics and rewards of FTHM staking may vary and are subject to change as the Fathom Protocol evolves.

3.2.2 Fathom Vote Token (vFTHM)

vFTHM is a Non-Transferable, Burnable, Pausable, and Mintable XRC-20 token with access control.

3.2.3 Fathom Staking

Fathom Staking is a mechanism in the Fathom Protocol that allows users to lock their FTHM tokens and earn rewards. By staking their FTHM tokens, users are helping to secure Fathom Protocol and can participate in its Governance. In return for their contribution, stakers receive rewards in the form of additional FTHM tokens.

The Fathom Staking rewards are given out in an FTHM token. Also, users are obtaining voting tokens called vFTHM which is used in Fathom governance. The amount of FTHM rewards and vFTHM received by a staker is proportional to the number of FTHM tokens they have locked up and the length of time they have staked for.

The locking period for Fathom Staking is a minimum of 7 days, with a 1-year maximum limit. However, early unlocking is possible but will incur penalties. If a staker decides to unlock their FTHM tokens before the end of the locking period, they will incur a penalty, a percentage of the lock position amount. This penalty is designed to discourage users from frequently unlocking and re-staking, which can disrupt the network's stability.

3.2.3.1 FTHM Staking configuration

Staking APR is based on how many tokens have been staked by total users and how much time has passed since staking pools have been created.

The initial incentive program will take 200.000.000 FTHM (20% of FTHM Total Supply) and will last for 4 years.

3.2.3.2 Lock Position

A Lock Position is the position a user stakes for which rewards are generated. The Lock positions are created to incentivize people to participate more frequently in the Protocol, and it provides more granular control. Furthermore, it eases the calculation of vFTHM.

The calculation of FTHM rewards and the number of vFTHM tokens is based on the lock period. FTHM locked for a certain period incentivizes people to participate in the project more.

Flexible staking with multiple lock periods, allowing people to close undesirable positions earlier while retaining others. It assists in the easier calculation of the number of FTHM rewards and vFTHM tokens.

Locking your FTHM Token is the only way to stake and get rewards. Locking can be done by creating lock positions. Locking stakes your token in the total pool of tokens, and the contract calculates the shares for rewards. Though you can unlock early, it is highly disincentivized through penalties.

3.2.3.3 How locks Works

When creating a lock position, the user needs to specify the amount to lock and how long you want to lock it for (unlock time).

The lock position is identified by a lock Id and starts accumulating rewards.

3.2.3.4 How vFTHM token is released

voteLockCoef parameter determines how many vote tokens are released depending on how long a staked position is for.

The voteLockCoef is set at 365 * 24 * 60 * 60 = 31560000, which is 1 year in seconds. So, locking 1 FTHM for 1 year gives us approximately 1 vFTHM. For example:

1 Staked FTHM for 1 year = approx. 1 vFTHM
1 Staked FTHM for 0.5 years = approx. 0.5 vFTHM

3.2.3.5 What rewards shares amount is based on

The amount of stream shares rewards calculation is based on

  • vote shares coefficient
  • weighting function

3.2.3.6 Vote shares coefficient

voteShareCoef = 500 is a parameter that determines how much value vFTHM released has on stream rewards. So, this value indicates how much reward a user receives depending on how long they have staked the FTHM since vFTHM is released based upon the locking period.

Example:

shares = amountOfToken + (voteShareCoef * nVoteToken) / 1000;

So, the shares of rewards are based upon voteShareCoef and the number of vFTHM released plus the amount of token staked.

3.2.3.7 Weighting function

The amount of stream shares rewards a person gets is based upon a weighting function that decreases the number of stream shares a person gets (calculated in 3.2.3.4) depending upon when in the timeline of the project a user stakes.

Example: Suppose the project gets launched on a certain date, 31st January 2023. A person stakes their tokens close to the start date, for example, 25th February 2023. This staker has more proportional shares of rewards than a person stakes around 25th August 2023. This is due to the linearly decreasing weighted shares during the project's first year.

Constraints:

maxWeightShares = 1024
minWeightShares = 768

So, 3 months have passed in the project timeline.

Then, the weighting coefficient is calculated using the weighting function.

maxWeightShares + (maxWeightShares - minWeightShares) * remainingTime / oneYear = 768 + (1024 - 768) * 9 Months In Sec / One Year In Sec. = 960.14

But let's say 6 months have passed for the same amount and lock period of staked FTHM then,

768 + (1024 - 768) * 6 Months In Sec / One Year In Sec. = 896.09

As you can see, the stream shares start decreasing when you staked the lock position in the timeline.

This weighing function is used to incentivize people to stake early and remain staking.

3.2.3.8 Rewards streams

Streams distribute streaming rewards in a timely manner to the Protocol users.

Stream Owner: Stream owner is the account that makes the streaming of the Protocol tokens live. It is set during proposing of a stream. Note: This account usually should belong to an account owned by a member of the Protocol seeking funding.

Stream Manager: Stream Manager is the account that can propose a stream and set all the parameters. This account sets all the parameters properly, and the account can belong to a member of our team.

A schedule of rewards is a schedule of timestamps that denote the start of each scheduled interval. The last element is the end of the stream. Each timestamp has rewards to be delivered at each scheduled time. The last element is always zero.

You get rewards based on the stream shares that you have been allocated and how a stream is scheduled.

Example: schedule time: [start time, start time + 1 day, start time + 2 days] schedule rewards: [150 million FTHM, 75 million FTHM, 0 FTHM]

3.2.3.9 How to propose and make a stream of rewards

The Stream Manager or the Staking Admin of the staking contract can allow (propose) a stream. Safelisting of the stream provides the option for the stream owner to deposit some tokens on the staking contract and potentially get in return some tokens immediately as funding.

The stream owner is then able to make the stream live. The stream must have been successfully proposed through Governance before making it live.

The rewards distribution schedule for each stream is different. After setting them, the stream is proposed and created.

3.2.3.10 Unlocking position

Once the lock position expires, the user can call unlock function, providing the lock Id to unlock his position completely and, after that, withdraw.

You can unlock early before your locking period expires, but you will be penalized. The penalization is proportional to the remaining time. Note: If you unlock early, your vFTHM balance will be reduced by the number of vFTHM previously released for the lock position.

3.2.3.11 Early Unlock Penalty

Early Unlock has a penalty associated with it.

It has the following parameters:

maxWeightPenalty = 3000
minWeightPenalty = 100

The weighting function is:

maxWeightPenalty + (maxWeightPenalty - minWeightPenalty) * remainingTime / oneYear

If the remaining time in locked position is one year:

100 + (3000 - 100) * one year in sec / one year in sec = 3000

So, penalty is 3000 * 0.01 = 30%

Similarly, if the remaining time in the locked position is 3 months:

100 + (3000 - 100) * 3 months in sec / one years in sec = 825

So, penalty is 825 * 0.01 = 8.25%

3.2.3.12 Claiming rewards

Users may claim accrued rewards for a position. It is possible to claim all position rewards at once.

3.2.3.13 Possibility of rewards loss

If the position has rewards accrued - they must be withdrawn before the position will be unlocked. If not - rewards for a position will be lost.

3.2.3.14 Withdraw cooldown

When someone unlocks a position or claims rewards, they cannot withdraw it in the same block. The cooldown period starts. At launch, the cooldown is done for 5 days. After which, the cooldown amount can be withdrawn. Cooldown is implemented as a protection mechanism for the Fathom ecosystem. It prevents malicious behavior, limits the number of withdrawals, and protects the Governance system from being overused and vulnerable to a Sybil attack (user votes, withdraws FTHM, restakes, and votes again).

3.2.4 Fathom Governance

Fathom Protocol Governance is a system that allows the community of Fathom Protocol users to have a say in the development and decision-making processes of the Protocol. For example, the governance system allows users to propose and vote on changes to the Protocol, such as adding new features, changing the fee structure, or updating the monetary policy.

The governance system uses a token-weighted voting system, where users' voting power is proportional to their vFTHM. This ensures that decisions are made based on the interests of the entire community rather than just a small group of users.

Users can participate in Governance by submitting proposals, voting on proposals, and participating in community discussions on the Fathom Protocol forums.

The Fathom Protocol governance system is designed to be transparent, secure, and fair, ensuring that all users have an equal opportunity to participate and have their voices heard.

3.2.4.1 Proposals

The proposal is the core element of Fathom Governance. Proposals may be created by users who are holding 1.000.000 vFTHM.

The proposal may contain any information. For example, it may be Protocol improvement, system update, or new collateral onboarding.

The account can create 1 proposal per day.

3.2.4.2 Voting

vFTHM holders may vote for each proposal after creation. The amount of vFTHM and delegated voting power influences votes weight. More vFTHM and delegated voting power - the more weight the vote has.

The delay between Proposal creation and Voting start is 2 days.

The voting period lasts 5 days. Voting is considered finished when 5 days pass.

Voter can vote for or against the proposal or abstain from the voting.

If most voters have voted for the proposal - it is considered accepted. Otherwise - declined.

For proposal voting to succeed, the total number of vFTHM used should be at least 4% of the total supply. If the threshold hasn't been reached - the proposal will be declined even if the majority of votes were for the proposal.

Once the proposal is accepted - it may be executed after the cooldown period.

3.2.4.3 Proposal cooldown

If the proposal is accepted - the cooldown period of 14 days starts. It is made for those who don't agree with the proposal to be able to exit the Fathom Protocol by unstaking and withdrawing their FTHM tokens.

3.2.4.4 Proposal automation

Proposals are structs in Governance smart contracts. They may contain the following array of details:

  • address of contract to be called
  • contracts function signature and arguments values to be called
  • XDC that should be sent with this function call

It allows using Governance in very complex flows:

  • tokenization of RWA
  • the creation of the new collateral pool for FXD

3.2.4.5 Proposal execution - Multi-sig

Proposal execution is the responsibility of the Multi-sig contract.

The Fathom Protocol Governance uses a multi-signature mechanism to ensure the security and decentralization of decision-making processes. In a Multi-sig setup, a group of authorized individuals, called signers, must collectively sign off on any accepted Protocol execution.

This is the last step of protection for Fathom Protocol updates.

3.2.5 Multi-sig Treasury

The Multi-sig contract acts as a Treasury for the Fathom Protocol. It holds and manages the funds used for Protocol upgrades, bug bounties, marketing campaigns, dividend distribution, and other essential operations. Multiple signatories control the Multi-sig contract. They are signing the execution on how the funds should be used based on the proposals submitted by the Fathom community. This ensures that the funds are managed securely and transparently.

The Fathom Protocol's Multi-sig Treasury allows for a decentralized and democratic governance process where all stakeholders have a say in the direction and management of the Protocol. This ensures that the Protocol remains aligned with the community's interests and that the Treasury funds are used responsibly and transparently.

All Fathom Protocol revenue goes to Multi-sig Treasury.

3.2.5.1 Fathom Liquid Staking as Incentivization for protocol participants

Once XinFin network will switch to dPOS consensus algorithm, Fathom protocol will activate the usage of Liquid Staking contracts.

Liquid Staking contracts allow using XDC coins to be staked to earn more XDC coins as rewards. The source of those rewards is the validator nodes of the XDC blockchain.

All XDC coins coming into Treasury through various sources are subject to be locked in Liquid Staking to accrue more XDC rewards.

Those XDC coins, including rewards, are subject to unstaking and distribution through Fathom Governance voting. This is how Fathom Governance can decide to incentivize Fathom protocol participants and help increase the Protocol's stability and security.

In the Fathom Protocol, the Liquid Staking Annual Percentage Rate (APR) for XDC will be close to 10%. However, this value may be variable over time.

A similar mechanism will be applied to other currencies transferred to Treasury after the Fathom protocol introduces Farming incentives for them.

3.2.5.2 XDC Liquid Staking mechanics

In Liquid Staking, XDC is delegated to validator nodes, responsible for maintaining the security and stability of the XDC blockchain.

When XDC is staked in Liquid Staking contracts, it participates in consensus and validating transactions on the XDC blockchain. Validator nodes receive rewards for performing this work, which is proportional to the amount of XDC they have staked.

Validator nodes are incentivized to act honestly, as they can be penalized for misbehavior, such as double-signing blocks or censoring transactions.

All these make participation in the Fathom protocol not only incentivize users but also help to secure the XDC network through delegation to validator nodes.

3.2.5.3 Liquid Staking tokens ratio

Liquid staking token aXDCc is named a 'certificate'. It refers to the rewards earned by participating in the Liquid Staking program. In the Liquid Staking program, XDC is staked in a large pool to secure the underlying blockchain network and earn rewards for doing so. These rewards represent a share of the total rewards generated by the pool. XDC rewards accrual happens through changing the aXDCc / XDC conversion ratio.

The certificate conversion ratio determines the portion of the XDC that aXDCc position can receive based on the share of the total aXDCc pool. The certificate conversion ratio ensures flexible integration of staking certificates in different DeFi Protocols.

Changing the aXDCc / XDC conversion ratio allows the liquid staking Protocol to change aXDCc's value without rebasing.

It's important to note that the certificate conversion ratio changes over time, depending on factors such as the overall demand for staking, network conditions, and changes in the value of the staked assets.

3.2.5.4 Liquid Staking intermediary pool

Liquid Staking has an intermediary pool of XDC used for immediate unstaking. If the pool doesn't have enough XDC to unstake, the whole process may take up to 40 days to get the originally staked amount of XDC coins ready to withdraw from the Validator node.

3.2.5.5 Liquid Staking fee

The liquid staking fee is paid from the accrued rewards when XDC is unstaked.

The liquid staking fee is set to 0% for the first year after the Fathom Protocol launch.

After the first year Liquid staking fee will be set to 10%. Fathom Protocol takes 90% of this fee as Protocol revenue. Ankr Protocol takes 10% of the fee.

3.3 Fathom DEX

Fathom DEX is a decentralized exchange. It allows users to trade assets directly with each other without the need for a centralized exchange or intermediaries.

The mechanics of Fathom DEX work by utilizing a mathematical algorithm commonly referred to as an Automated Market Maker (AMM). This algorithm calculates the price of assets based on their current supply and demand and executes trades automatically. The algorithm also incentivizes users to provide liquidity to the exchange by earning a share of trading fees.

Users can trade any assets that are listed on the exchange. All trades are settled in a transparent, trustless, and secure way.

Fathom DEX allows users to trade assets without entrusting their funds to a centralized third party, reducing the risk of security breaches, hacking, and theft.

3.3.1 AMM explanation

AMM (Automated Market Maker) is a decentralized exchange model where users can trade tokens without needing an order book. Instead, it uses a mathematical formula to determine the price of the tokens traded.

The basic inputs for AMM are the supply of two tokens in the pool and the respective token prices. The algorithm uses these inputs to determine the output, which is the price of each token being traded.

The following formula can represent the algorithm:

Price of Token A = (Supply of Token A * Price of Token B) / Supply of Token B

This formula is used to calculate the price of each token in real time based on the supply of each token in the pool. When a user wants to trade tokens, they provide the amount of one token they wish to trade, and the algorithm calculates the equivalent amount of the other token they will receive in return.

In an AMM, users can add liquidity to the pool by depositing an equal value of both tokens. This increases the overall supply of the tokens in the pool and allows for more trades. The users who provide liquidity are also incentivized through a fee structure. A small portion of each trade is returned to the liquidity providers as compensation for their contribution.

In summary, AMM is a decentralized exchange model that uses a mathematical formula to determine token prices and incentivizes users to provide liquidity to the pool.

3.3.2 Participation in Pool as a liquidity provider

You can participate in the Fathom DEX pool as a liquidity provider by depositing two different assets. The AMM algorithm then uses this pool of assets to provide liquidity and facilitate trades between users on the platform.

Here are the steps to participate in an AMM pool as a liquidity provider:

  • Choose the two assets you want to provide liquidity for: You need to deposit at least one of two different assets, for example, asset A and asset B, into the AMM pool.
  • Transfer the assets to the AMM platform: You will need to send assets to the smart contract address provided by the AMM platform.
  • Wait for the assets to be added to the pool: Once the assets have been added to the pool, they will be used to provide liquidity and facilitate trades on the platform.
  • Receive rewards for providing liquidity: By providing liquidity to the AMM pool, you will receive a share of the trading fees generated by the platform. This share is proportional to the number of assets you have contributed to the pool.
  • Withdraw your assets: You can withdraw from the AMM pool anytime. However, this may impact the overall liquidity of the pool, so it is important to consider the potential consequences of withdrawing before doing so.

3.3.3 Pool commission

Pools charge a small fee for every trade executed on the platform, known as a trading fee or liquidity provider fee. The fee is 0.3% of the total trade value. Most of that fee (0.25% of the trade) always goes to the liquidity providers. The remaining 0.05% is used to cover the operating costs of the Fathom DEX and help maintain the pool's health.

3.3.4 How to trade in Fathom DEX

  • Choose the tokens you want to trade: Select the token you want to exchange and the token you want to receive.
  • Input the desired amount: Enter the amount of the token you want to exchange, and Fatom DEX will automatically calculate the equivalent amount of the token you will receive.
  • Confirm the trade: Review the trade details, including the exchange rate, and confirm the transaction in your wallet.

3.3.5 What are the risks in Fathom DEX

There are several risks associated with trading on Fathom DEX. Some of the most common risks include:

  • Liquidity risk: Fathom DEX relies on a pool of users providing liquidity to the exchange. Executing a trade can be challenging if there's sufficient liquidity in a particular market.
  • Market risk: The value of a token can be affected by market conditions, regulatory changes, or other factors outside of a user's control.
  • Smart contract risk: Fathom DEX runs on smart contracts containing bugs or security vulnerabilities that malicious actors can exploit.
  • Counterparty risk: When trading on Fathom DEX, users rely on the integrity and honesty of other users in the pool to execute trades correctly.
  • Slippage risk: Fathom DEX uses automated market maker algorithms to determine the price of a trade. In highly volatile markets, the execution price can differ significantly from the expected price.
  • Liquidation risk: If a user provides liquidity to the DEX pool, they are exposed to the risk of having their position liquidated if the price of a token moves against them.

3.3.6 How Fathom DEX manages risks

Fathom DEX has several measures to reduce the risks associated with trading on its platform.

  • Automated Market Making (AMM): Fathom DEX uses an AMM algorithm, allowing instant trades and constant liquidity for the pool. This reduces the risk of slippage or price volatility during trades.
  • Liquidity Providers: Fathom DEX relies on liquidity providers to maintain a healthy balance of assets in each trading pair. Liquidity providers earn fees for their contributions and are vested in keeping the pool stable.
  • Decentralized: Fathom DEX is a decentralized exchange that operates on the XDC blockchain. This eliminates the risk of central point of failure or hacking that is associated with centralized exchanges.
  • Transparent: Fathom DEX's code is open-source and auditable, allowing transparency and accountability in its operations.
  • XRC-20 Tokens: Fathom DEX only supports XRC-20 tokens, tokens built on the XDC blockchain. XRC-20 tokens have a standard set of rules, which makes it easier to ensure the security and stability of the exchange.

4 Fathom main user flows

4.1 FXD

4.1.1 Using XDC for borrowing & repaying FXD Stablecoin.

  • Deposit XDC: The user needs to create CDP for FXD Stablecoin using their XDC by depositing coins into FXD smart contracts.
  • Borrow FXD: Users can borrow FXD Stablecoin using their collateralized XDC. This will effectively "collateralize" their XDC, which means that the user has used their deposited XDC to guarantee the value of the FXD Stablecoin they receive. The maximum amount of FXD Stablecoin available to borrow is determined by the collateralization ratio - 75% of collateral value.
  • Use FXD: The user can use FXD stablecoin in various DeFi activities or trade it on Fathom DEX.
  • Repay FXD: If the user wants to return his collateral, he must repay the borrowed FXD Stablecoin. The user must repay the borrowed amount and the interest in FXD Stablecoin (stability fee).
  • Uncollateralize XDC: The user can uncollateralize their position and receive back their XDC coins collateral.

A similar schema may be applied for onboarded RWA collateral in the future.

4.1.2 FXD flash mint

  • The user takes some FXD tokens in the flash mint module.
  • User manipulates borrowed FXD token in the same transaction - usually to make a profit.
  • User repays the borrowed amount of FXD token in the same transaction, including interest payment of 0.09% of the loan amount.

4.1.3 Stable swap (arbitrage)

By participating in the FXD Stable Swap, arbitragers help to keep the FXD/abUSDs exchange rate pegged at 1:1, ensuring price stability for FXD and allowing for seamless transfers between the two. The arbitrager of FXD Stable Swap is a private group, and participation is not public (at launch).

  • Spreads encourage arbitragers to participate in maintaining the peg. The arbitrager would monitor the FXD and abUSDs rates on Fathom DEX to compare the rate for FXD/abUSDs. If the exchange rate deviates from the pegged rate of 1:1, the arbitrager will use FXD Stable Swap to buy and sell the undervalued asset, thus profiting from the price difference. The arbitrager would need to pay a small fee for using the FXD Stable Swap.
  • Repeat the process: The arbitrager can repeat this process as often as they wish (considering the total swap limit in Stable Swap), taking advantage of price discrepancies in the FXD/abUSDs exchange rate to generate profits.

The arbitrager can use his funds and FXD flash mint module to make trades on DEX and Stable Swap.

4.1.4 Stablecoin liquidator (XDC)

The liquidator uses special software named Liquidation Bot to participate in the liquidation process. The liquidator of Fathom Protocol is a private group, and participation is not public (at launch).

  • Monitor the FXD/XDC collateralization ratio: The liquidator needs to continuously monitor the collateralization ratio of FXD to XDC in the Stablecoin contract.
  • Identify under-collateralized positions: If the collateralization ratio drops below a certain threshold (75%), the position is considered under-collateralized.
  • Trigger liquidation process: The liquidator can trigger the liquidation by calling the liquidation function in the Stablecoin contract. For example, the liquidator tries to liquidate 25% of the position in FXD. If it won't help enough to liquidate a position - the whole position is subject to liquidation.
  • Repay FXD debt: The liquidator repays the debt in FXD to the Stablecoin contract.
  • Receive liquidation fee: The liquidator receives a fee for performing the liquidation process, which is paid in FXD.

4.2 DEX

4.2.1 Trading on DEX

  • Choose Trading Pairs: Fathom DEX allows trading between any two tokens. Users must select the tokens they want to trade, which will be displayed as a trading pair.
  • Check the price: The user can check the current price of the selected trading pair on Fathom DEX. The price is determined by Fathom DEX's automated market maker (AMM) algorithm.
  • Place an Order: The user can place a trade by specifying the amount of one token they want to trade for another. Also, the user must specify slippage. After an order is confirmed, the balance of the user's wallet will change.

4.2.2 Providing liquidity to DEX

  • Choose two tokens: The user must select two tokens they would like to provide liquidity. The two tokens must be different and cannot be the same token.
  • Adding liquidity: The user must provide the amount of both tokens they want to add to the liquidity pool. This will transfer the tokens to the Fathom DEX pool and make them available for trading. If there was no liquidity for the pair before - a new liquidity pool will be created.
  • Receive LP tokens: After the transaction is confirmed, the user will receive LP tokens representing their share of the liquidity pool. The user can now trade the tokens on Fathom DEX and receive a portion of the trading fees generated by the pool.

4.3 Fathom DAO

4.3.1 Fathom Staking

  • Deposit FTHM: Transfer the assets that you want to stake. Users can choose the lock period.
  • Based on the FTHM amount and lock period length staker will receive a certain amount of vFTHM and will start gaining FTHM rewards based on his share of the pool and lock period length.
  • Claim rewards - Staker can claim accrued rewards. Rewards will be put into a pending pool for the cooldown period.
  • Early unstake - Staker can request early unstake - he must pay the penalty. Unstaking will put requested tokens into the pending pool for the cooldown period.
  • Unstake - normal unstake after the lock period is finished. Unstaking will put requested tokens into the pending pool for the cooldown period.
  • Withdraw pending balance - withdraws penguin pool tokens after the cooldown period is finished

4.3.2 Fathom Governance

  • Identify a need for a change: A user needs to identify a need for a change in the Fathom Protocol, for example, changing a fee structure, adding a new feature, modifying an existing one, and onboarding new collateral for FXD.
  • Prepare the proposal: The user needs to prepare the proposal, including a clear description of the change they are proposing, its rationale, and the expected outcome.
  • vFTHM holders (at least 1.000.000 vFTHM) can create a new Proposal in Fathom Governance by submitting it to the Governance Contract.
  • vFTHM holder voting: The proposal will then be put up for voting by the vFTHM holders of the Fathom Protocol. The token holders can cast their votes. The weight of the vote is based on the holder's share of vFTHM. The voting period lasts for 7 days.
  • If the proposal gathered more than 50% vFTHM votes accepting proposal changes or 7 days have passed - the proposal becomes accepted and put into a cooldown period for 7 days. If not accepted - the proposal becomes defeated.
  • After the cooldown period proposal will be executed by Governance Multi-sig.

5 Fathom sources of revenue

The main sources of revenue for the Fathom Protocol are:

  1. Stability fee (2% yearly interest): When a user closes a CDP, they pay a stability fee, which is used to cover bad debt for liquidators, and any remaining part of the stability fee may be considered as Fathom Protocol revenue.
  2. Stable Swap fee (0.1% of trade in FXD): Stable Swap is a mechanism for pegging FXD to a stable price, and a fee is charged for using this service, which goes to the Fathom Protocol as revenue.
  3. FXD liquidation fee: Fathom Protocol fee is 80% of the total CDP liquidation fee. The liquidation fee is 10% of the liquidated amount of collateral.
  4. FXD flash mint fee (0.1% of the loan in FXD): Flash mint is a type of short-term, high-risk loan that allows borrowers to access FXD quickly and without needing collateral.
  5. Fathom DEX swap fee: User pays 0.3% of trade value for using Fathom DEX liquidity pools to trade pairs of assets. 0.25% goes to liquidity providers, and 0.05% goes to Fathom Protocol
  6. Treasury Liquid Staking fee: When Treasury XDC coins are unstaked from Liquid Staking Module, the fee is charged from unstaked amount. The first year after the dPOS launch, the fee will be 0% of accrued position rewards (free of charge). After the first year, it will be 10% of accrued position rewards. Fathom Protocol recognizes 90% of the amount of the fees as revenue. Ankr Protocol takes 10% of that amount.
  7. Collateral onboarding: For onboarding new collateral Fathom Protocol charges fees. They are used to cover costs of tokenization (in the case of RWA) and new CDPs pool creation. The price is individual and depends on the complexity of the work. Automatic tokenization and collateral onboarding Protocol take through Governance 1% of collateral value.

6 Fathom Smart Contracts security practices

Fathom smart contracts are protected from being exploited by following security best practices and using the most secure programming tools available. This includes using formal verification, automated testing, and extensive code reviews to identify and fix vulnerabilities before they are exploited. Additionally, smart contracts are deployed with appropriate access controls and security mechanisms, such as multi-signature requirements, to prevent unauthorized access or tampering. All smart contracts passed audits to ensure they remain secure and to update them as new threats are discovered. Further security measures include penetration testing and bug bounty programs to incentivize ethical hackers to identify and report potential vulnerabilities.

All Fathom smart contracts are upgradeable. The upgradability of smart contracts refers to the ability to modify and improve the functionality of a deployed contract without requiring a complete redeployment. In the case of Fathom, the contracts are designed to be upgradeable via Governance, meaning that changes and improvements can be made through a decision-making process involving the Protocol's stakeholders. This is achieved through the use of a governance mechanism, which allows the stakeholders of the Protocol to vote on proposed upgrades. For example, if a bug is found in the Fathom contract or if there is a need for a new feature to be added, the proposal for the upgrade can be put forward, and the community can vote on whether to approve it.

The governance mechanism is a crucial aspect of the Fathom Protocol, as it allows for the community to collectively make decisions that impact the Protocol, ensuring that the Protocol remains secure and responsive to the needs of its users. Upgradability also allows Fathom to improve and evolve continuously, ensuring that the Protocol remains relevant and competitive in the ever-evolving world of DeFi.

7 Fathom Vision

Fathom aims to become the most widely used DeFi Protocol on XDC, leveraging stable coin and institutional assets and offering real incentivization mechanisms with the Protocol-native market and credit risk management. Fathom will be a cornerstone for the XDC community of innovators and institutions to extend and build various fixed-income and structured products.

Fathom Principles

8 Fathom Token Distribution

Fathom Token

9 Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment