xTRU: Auto-Compounding stkTRU

xTRU: Auto-Compounding stkTRU

The current value proposition behind stkTRU is that stkTRU holders can earn a portion of interest earned by the protocol which gives TRU inherent value. Currently, TRU rewards are offered on top of this to incentivize deposits. A lot of community members are asking for a “restake” functionality in TrueFi. In addition, stkTRU cannot be used on an AMM, the account which owns the stkTRU is entitled to the rewards, and AMMs do not have the ability to claim TRU or tfUSDC rewards from stakers. This proposal encourages the creation of a new token called xTRU, which automatically compounds TRU rewards earned through the contract’s stkTRU balance. In addition, fees are used to buy TRU and stake it back into the contract, thus allowing the value of one token to increase in it’s TRU value over time.


  • A new token is created called xTRU, which pools stkTRU in a single contract
  • Deposit stkTRU or TRU into the xTRU contract in exchange for a share of the pool
  • TRU farmed through stkTRU rewards are re-deposited back into the contract for stkTRU
  • User shares are tracked so that their stkTRU balance grows as the pool compounds
  • tfUSDC earned are used to buy more TRU and stake the TRU back into the xTRU pool
  • xTRU can be used on AMMs to increase liquidity for stkTRU
  • xTRU/ETH or xTRU/USDC pair can be incentivized through a farm an offramp for xTRU

Open to thoughts or feedback. Anyone can develop this since it is only wrapping functions on top of existing smart contracts. This could be a good hackathon project for a solidity developer or TRU funded grant.


We shouldn’t make a new contract that will utilize the old one, stacking one on top of another, because it will just make everything unnecessarily complex and gas costly. Smaller TRU holders are already cut out of the system and there is no point in staking less than already a pretty big amount of TRU. If we stack more logic on top of each other, it would be even worse. We need to upgrade the way the currently existing staking contract works, to not distribute new TRU through claiming but just increase stkTRU value (that being said, I keep in mind, that we will still need to keep the claiming mechanism for stablecoin dividend). Or we should just introduce a new staking contract and migrate.
Also, we shouldn’t really run two separate contracts of similar nature alongside.
Upgrade or migrate.
Migration would be cleaner in terms of process and architecture. Upgrade would support smaller stakers.

1 Like