Smart Contracts

Xion Finance is driven by smart contracts running on the xDai chain, the Ethereum Mainnet as well as the Binance Smart Chain - powering the whole Xion ecosystem

We embrace the ethos of decentralization and want to be as transparent as possible. You can find the code of our smart contracts in our GitHub repository as well as on the different block explorer of the blockchains where we are active (see the links below).

Xion Global Token - XGT

The Xion Global Token (XGT) is a standard ERC20 token based on the OpenZeppelin contracts. It combines the classic features of ERC20 tokens while combining some advanced mechanisms that we introduced. There is a fixed supply of 1,000,000,000 XGT.

The following features were added on top:

  • Protection against sending tokens to the token address itself, e.g.:

    • require(recipient != address(this), "XGT-CANT-TRANSFER-TO-CONTRACT");

  • Native and cost-efficient swaps between the xDai chain and the Ethereum mainnet as well as the Binance Smart Chain via the Arbitrary Message Bridge

  • The cross-chain swap system can be extended to any other EVM-compatible chain in the future, like for example the Polygon chain

  • Cross-Chain Reward Claiming, so users on e.g. the BSC chain are able to claim their rewards directly without any interaction with the xDai chain

There are slightly different versions of the XGT token contract. The most important one is an immutable, non-upgradeable version that is deployed on the xDai chain - the main hub for the Xion Global Token. Any transfers of the token to other chains will originate from here. On other chains like the Ethereum Mainnet or the Binance Smart Chain, we are using a slightly altered version of the token contract, also including an upgradeability mechanism, so we can react to changed in the cross-chain bridge ecosystem. The token itself can't be changed or altered though - it is immutable and decentralized on the blockchain.

Deployed at [NOT DEPLOYED YET] on the xDai Chain and at the same address on the Ethereum Mainnet and the Binance Smart Chain. The code for this contract can be found here.

XGT Reward Chest

450,000,000 XGT have been dedicated to rewarding and incetivizing the users of the Xion community, which amounts to 45% of the overall token supply. This process is being handled in the so-called XGT Reward Chest contract since it rewards XGT to our users. Users can earn XGT rewards through earning, farming or cashbacks. Having an own contract that can be leveraged via our backend nodes allows us to reward our users, even if they are providing liquidity (farming) on pools that are not ours (such as the Honeyswap Pool) or even on other chains (such as on Uniswap on Ethereum Mainnet or PancakeSwap on Binance Smart Chain)

Deployed at [NOT DEPLOYED YET]. The code for this contract can be found here.

Earning

Coming soon, we will allow our users to be rewarded for staking tokens through lending protocols like Compound, Aave or Agave. More details on this will be released soon.

Farming

With Xion Finance, users will automatically earn XGT rewards as soon as they enter a liquidity pool paired with XGT (for example the BNB<>XGT pool on PancakeSwap (BSC)). We removed any friction and additional processes from the reward system in comparison to other projects, so our users' rewards will automatically be activated as soon as liquidity to an XGT paired pool is provided - no user action is required! The way this works is that our Xion Global Nodes are constantly monitoring the different liquidity pools on the various chains that we are live on. If a user is for example providing liquidity in the form of XGT and BNB on the Binance Smart Chain on the PancakeSwap exchange, our node will pick this information up and provide it to our XGT Reward Chest contract. As soon as this happens, users will automatically start to earn XGT rewards and thus start to farm. With our latest promotions in the world of NFTs, we are now also able to grant so-called "boosts", where users may earn a certain percentage of XGT on top for a limited time.

Cashbacks

With the release of XGT V2, we are now also able to seamlessly issue cashbacks for any eligible purchases made through the Xion Global system. The smart contract facilitating the payment process within our system is directly linked to the cashback module of the XGT Reward Chest, thus allowing us to directly issue on-chain cashbacks as soon as a purchase happened.

In order to protect the holders of the XGT token from any sudden market movements, we are also able to put time-locks on any cashbacks issued, so new users might only be able to receive their cashbacks after a certain amount of time has passed since their purchase.

Cross-Chain Rewards

The XGT token is active on multiple chains within the Ethereum ecosystem. This allows us to offer the huge benefits of the XGT token to multiple user bases at once, while allowing any user to chose which chain they might prefer. Due to the nature of the blockchains that are involved, we chose the xDai chain to be the systems main hub, because of the low transaction costs.

If now a user is native to e.g. the BSC chain and is farming XGT rewards in the XGT<>BNB pool on PancakeSwap, they might not even be active on the xDai chain, while still earning their rewards over there. This is why we came up with a novel mechanism, that allows users to do "cross-chain claims" of their XGT rewards. Here is how it works in practice:

  1. A user is farming XGT<>BNB on PancakeSwap on the BSC chain. They have never been active on the xDai chain.

  2. This user is now issues rewards through the XGT Reward Chest on the xDai chain. They click on "Claim" on the Xion Finance website.

  3. Through a metatransactions, the user is able to claim the rewards on the xDai chain, without having to have any xDai to pay for the resulting gas costs (we'll cover you).

  4. The smart contract detects, that this claim is coming from a user that is active on a different chain and initiates a cross-chain swap for the resulting XGT amount that has been rewarded to the user.

  5. The cross-chain swap is being executed and the user claims their XGT rewards on the BSC chain.

Note: All of this is going on in the background. The user only needs to click on "Claim", the system automatically does the heavy-lifting in the back. They only need to sign and send a transaction on their active chain and they are done 🚀

Vesting

In order to incentivize the team and investors of Xion over the long-term and also maintaining the ability to facilitate airdrops, we are making use of a vesting contract, that distributes the allocated tokens over a certain vesting periods including cliffs. In order to protect the community, any unallocated XGT amounts will also be unlocked throughout the same period, such that the Xion team does not have access to excessive amounts of XGT.

The vesting contracts itself that are holding and distributing the tokens are not upgradeable, thus safe from any future changes that might decrease the vesting periods.

The smart contract deploying the individual vesting contracts is deployed at [NOT DEPLOYED YET]. The code for this contract can be found here.

Upgradeability

For some of our smart contracts, we are leveraging the Upgradeability features by OpenZeppelin, allowing us to introduce features without changing the contract's address as well as fixing any unforeseen bugs that could lead to a financial loss for our users. The safety of our users and consequently their funds is of utmost importance to us!

We want to explicitly state that critical contracts like the token contract itself or the vesting contracts do not make use of this upgradeability feature and remain immutable in order to protect the Xion Global community and its users.

Over time, the admin and upgradeability mechanisms of our upgradeable smart contracts will be distributed to the community via a governance mechanism.

Meta-Transactions

We are very aware, that working with a different chain than the Ethereum Mainnet still requires some effort on the user's side, while some wallets don't even allow to define custom RPC endpoints. This is mainly the reason, why we are working with establishes mechanisms to bring meta-transactions to our users. Ultimately, we want our users to have very swift and smooth interactions with our system and thus our contracts, without needing to switch between networks or be subject to the hassle of knowing which chain requires which tokens or fees.

This is why we are making use of a gas-cost efficient EIP712 Meta Tx standard like this one.

License

GNU Affero General Public License v3.0