Nosana Rewards

About 6 min

Nosana Rewards

The Nosana Rewards Program allow stakers to earn rewards. Anyone that has staked NOS tokens can enter the rewards program.

The following are some of the Nosana Rewards program's characteristics:

  • A staker's xNOS score determines the portion of the fees a user will receive.
  • You have to explicitly enter the rewards program to participate. The rewards you receive are the percentage of your xNOS compared to that of all the other participants.
  • When new fees are added to the program, they are distributed to all current participants.
  • The program uses a token reflection model to distribute: fees are accounted for "live" as they come in and no loops necessary.
  • Anyone can send in new fees to be distributed using add_fees.
  • You can claim your earned rewards at any time (does not require an unstake).
  • If you unstake your reward account is voided. It is critical that you claim rewards before unstaking.
  • If you upstake or extend a stake your rewards program is not updated. You will have to claim upate your reward to make use of your new xNOS score.
  • A user can only have 1 active rewards entry at a time.
  • The rewards a user earns are automatically added to the percentage of rewards they receive. Earned rewards are added to their xNOS score (with a multiplier of 1) - but can be claimed without any delay. They gain a slight advandage from this, and it's a great feature as well. Also it's easy to upstake your rewards directly in order to receive a bigger multiplier.
  • One can close their own reward account at any time. If there are any unclaimed rewards on the account, they will be cancelled (and distributed to all other participants).
  • Anyone is permitted to close a user's reward account if they've unstaked. This feature prevents "ghost" accounts from accumulating rewards.

Program Information

InfoDescription
TypeSolana Programopen in new window
Source CodeGitHubopen in new window
Build StatusAnchor Verifiedopen in new window
Accounts3
Instructions6
Types0
Domainnosana-rewards.sol
AddressnosRB8DUV67oLNrL45bo2pFLrmsWPiewe2Lk2DRNYCpopen in new window

Instructions

A number of 6 instruction are defined in the Nosana Rewards program.

To load the program with Anchoropen in new window.

const programId = new PublicKey('nosRB8DUV67oLNrL45bo2pFLrmsWPiewe2Lk2DRNYCp');
const idl = await Program.fetchIdl(programId.toString());
const program = new Program(idl, programId);

Accounts

A number of 3 accounts make up for the Nosana Rewards Program's state.

Diagram