Staking own token on Cardano

Hi,

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 some 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?

Thanks!