Liquidity Efficiency

Not only an Open Platform, Sentre aims to provide a truly efficient flow of liquidity that benefits every Sentizens.

The liquidity flow of Sentre starts from SenSwap and Sen OS, then returns to developers and users in different ways.

Liquidity from SenSwap

For SenSwap, activities like swapping, staking and pooling from LPs will be our traditional source of liquidity. SenSwap provides two options for liquidity providers to choose based on their preference:

Main dual-token pools

Instead of limiting itself to stable coins or any specific ecosystem’s coins, SenSwap focuses on exotic, non-correlated pools. From these pools, SenSwap is able to accumulate and utilize cross-chain liquidity.

Optional triad-token pools

For triad-token pools, SEN token will be the universal interface between any pair. With this, SenSwap is able to utilize liquidity from any and all pools, reduce confirmation time for users, perform price evaluation and liquidity automation, and so on.

It is entirely up to liquidity providers to choose between the two types of pools. To further aid such providers, Sentre also comes up with a Simulated Single Exposure model to enable Asymmetric Deposits (see Asymmetric Deposit).

Liquidity from Sen OS

Aside from the traditional way through SenSwap, Sentre has another means to gather liquidity - that is through our Open Platform, Sen OS.

There are two types of dApps that are presented on Sen Store and work on Sen OS.

First are Solana-based dApps created and published by Sentre’s partners. These dApps will be integrated into Sen OS and appear on Sen Store. From this:

  • Users can gather all their favorite dApps in one place and create a single-page workflow.

  • Sentre’s partners can increase the amount of real, active users who love and frequently use their dApps.

Second are new, promising dApps created by developers - either as individuals or teams. By allowing them to access our resources and give support or consulting services when needed, Sentre creates a space where:

  • Developers get to introduce their ideas to native and active users with real opinions and reviews.

  • Users get to pick and choose from a variety of dApps, and put liquidity into the hands of the right projects.

From both types of dApps, Sentre accumulates liquidity generated and returns it to users through Yield Farming and other future features.

Return to Developers and Users

After all, the purpose of our liquidity accumulator is to serve dApp developers and users and satisfy your needs for liquidity.

For developers, Sentre’s liquidity becomes inheritable when their idea or dApp gets chosen by the users. If their idea is truly useful to the community, they won’t have to worry about finding available liquidity. Instead, they only need to focus on making their dApps as awesome as possible!

For users, as a high liquidity environment, Sentre helps reduce confirmation time and lower fees and slippage rate. Also, as users deposit into Sentre’s pools, the LP tokens received can be staked to earn more rewards.

To encourage people to lock tokens, Sentre protocol needs to bootstrap and build momentum for liquidity from the start, and to do this, Sentre plans to utilize common strategies, namely Farming and Auto Compound Farming. Besides, wallet integration is also considered to create a native experience for users.


Roughly speaking, farming lets users stake their LPT to mint more SEN as rewards. Users will now become farmers, earning rewards as periodic and proportional as a farmer’s shares. There are three main functions for three main farming activities:

  • Harvest: Collect rewards.

  • Stake: Add LPT to a pool and receive a number of corresponding shares which is equal to the number of staked LPT.

  • Unstake: burn shares and remove LPT from a pool.

At first look, Solana blockchain has an unusual approach to develop the “smart contract” concept and call it “program”. A program on Solana doesn’t have its own memory, storage, or anything to store states. Solana’s solution is extremely opposite to Ethereum[9], which is the most adopted smart contract platform. As an interesting metaphor, we can think of Solana programs as punched-card computers, which are the very first versions of the digital computer in the 70s. Such computers need punched cards to provide inputs, algorithms, and even to write the outputs. Within the Solana programming concept, a punched card is represented by an account.

To adapt the novel model and secure user experience, DApps on Solana are required several special features including renting accounts, rent exemption, associated accounts, cross-program invocations, and many others.

Due to the limit of resources in the Solana programming model, farming cannot naively loop all accounts and update rewards in every period. Hence, we employ debt models to reduce the number of computations. For example, instead of updating the reward of each account periodically, the protocol shall update a single parameter named pool debt to describe how much the pool is owing to farmers.

Proposition 2. All farmer’s actions including harvest, stake, and unstake can be generalized by an order of fully harvest, fully unstake, fully stake where Fully Harvest: harvest all rewards to a personal account. Fully Unstake: unstake all LPT by returning all shares. Fully Stake: stake a specific LPT and receive a number of shares. Fully harvest is just the same as stake.

Giving a pool created at timestamp t0t_0with the periodic rewards pp and the number of farmers nn, the ii-th farmer's state is {𝔯i,δi𝔯_i,δ_i} where 𝔯i𝔯_i is the ii-th farmer's shares and δi\delta_i is the farmer's debt (SEN)(SEN); And the pool's state is {𝔎,𝔇𝔎,𝔇} where 𝔎=i=0n1𝔯i𝔎= \sum_{i=0}^{n-1} 𝔯_i is the sum of shares and 𝔇𝔇 is the pool debt (SENShares)(\frac{SEN}{Shares}). In the following equations, the pool has lived for tt periods and we use prime to represent for subsequent notations.

Fully Harvest. This action doesn’t change all shares. Then the ii-th farmer will harvest sis_i SEN,

(5) si=𝔭t𝔯iδi+𝔇𝔯is_i=𝔭t𝔯_i-\delta_i+𝔇𝔯_i,

(6) δi=δi+si=(𝔭t+𝔇)𝔯i\delta'_i=\delta_i+s_i=(𝔭t+𝔇)𝔯_i,

(7) 𝔯i=𝔯i,𝔎=𝔎,𝔇=𝔇𝔯'_i=𝔯_i,𝔎'=𝔎,𝔇'=𝔇.

Fully Unstake. This action must be after the Fully Harvest, and unstakes all 𝔯i𝔯_i,

(8) 𝔯i=0,δi=0,𝔯'_i=0,\delta'_i=0,

(9) 𝔎=𝔎𝔯i𝔎'=𝔎-𝔯'_i,

(10) 𝔇=𝔇+(𝔭𝔭)t𝔇'=𝔇+(𝔭-𝔭')t

Fully Stake. This action must be after the Fully Unstake, and stakes 𝔯i𝔯_i,

(11) 𝔯i=𝔯i𝔯'_i=𝔯_i,

(12) δi=(𝔭t+𝔇)𝔯i\delta'_i=(𝔭't+𝔇')𝔯_i,

(13) 𝔎=𝔎+𝔯i𝔎'=𝔎+𝔯_i,

(14) 𝔇=𝔇+(𝔭𝔭)t𝔇'=𝔇+(𝔭-𝔭')t.

For example, you have staked and owned 1 share. You wish to stake 1 more token to own 2 shares. This desire can be generalized by a pattern:

  1. Fully harvest.

  2. Fully unstake 1 token.

  3. Fully stake 2 tokens.

Auto Compound Farming

Farming is not yet optimized when rewards can’t be re-invested to earn more profit. In the future, Sentre will tackle this problem by developing an automated process of compound interest for relevant tokens.


[9] G. Wood et al., “Ethereum: A secure decentralised generalised transaction ledger,” Ethereum project yellow paper, vol. 151, no. 2014, pp. 1–32, 2014.

Last updated