The core feature of Xenon is composability. In a time where many new protocols are popping up every day, there is a strict need for unification in order to prevent liquidity from being fragmented and underutilized. Xenon aims to be the most composable protocol on Solana and does not aim to be a marketplace or an exchange.
It would simply streamline the flow of capital from lenders to borrowers and ultimately to the market. In order to achieve that we need a safe and efficient way to redirect assets between protocols. There is also a need to restrict the entry of capital only to protocols which are safe, reliable and non-custodial.
A protocol is a platform which provides a market where assets/funds can be deposited, exchanged or traded upon. For the sake of discussion, it will be helpful to divide the protocol interactions into stateful and stateless interactions:
- Stateless: Stateless interactions are generally atomic in nature and provide instantly settled functionality. For example: Swapping on Raydium is a stateless interaction because there is no pending action on the protocol after the swap. X is deposited and Y is withdrawn from the pool in the same transaction. Generally, all AMM swaps fall under this category
- Stateful: Stateful interactions are more complex interactions and are generally asynchronous in nature. For example: Liquidity Providing on Raydium, Placing a limit order on Serum. All these interactions need to be accounted for in the respective protocol as they are not atomic and are a function of the protocol state.
Currently, there is no standard for protocols to adhere to on Solana. Due to the flexibility provided in defining custom interfaces to programs on Solana, each protocol has its unique accounting architecture. This poses a problem to Xenon as it would need a custom wrapper code for each additional protocol it needs to interact with.
To overcome this problem, we have come up with an architecture where each protocol interaction is wrapped through a Proxy Interface (PP). See the Litepaper section for more details!