Staking native token on Cardano


Can you please help me.
Smart contracts (or some other way) for staking are possible on Cardano?

Is this possible?
User should be able to stake own (native) token on platform

  • Reward formula: Stake amount X APR/100 X Period Days/365
  • Unstake fee - X ADA, Claim fee - Y ADA
  • The rewards should be available for Claim or Restake after the end of the period.

And if possible, are there any links to similar projects?