This application locks up SDEX or SDEX LP tokens for a user selected period of time, after the timeframe has exceeded the selected period, the user will be allowed to mint an APY NFT with no penalty to their stake. APY NFT values increase daily depending on the amount of SDEX or LP tokens staked.
APY NFTs can be used in conjunction with staking SDEX in other SigmaFi pools to earn rewards relative to their minted NFTs.
Eg. John bought 50,000 SDEX from a DEX and staked the entire 50,000 SDEX in the NFT Minter DAPP for 365 days. The DAPP contract credits him 0.000015 per SDEX per day giving him an increase of 0.75% per day for 1 year (365 days). After his contract reaches maturity, he can mint an APY NFT for 273% and obtain all his staked SDEX he put up in order to mint his NFT. After John mints his NFT he has two options to capitalize on the opportunity:
- He can sell the NFT privately or on a secondary marketplace for an instant profit
- He can stake SDEX in another DAPP to recieve 273% APY in rewards relative to his capital
If the contract has not reached maturity and withdraw
is called, a penalty to the principal will be applied based on boostrap variables shown below.
Variables for both rewards and penalties will be set by the contract deployer only and can be modified by the deployer at anytime.
When commitments are respected, rewards are given for loyalty.
desc | value | var |
---|---|---|
SDEX daily | 0.000015 | sdexAPY |
SDEX LP daily | 0.000050 | sdexlpAPY |
Penalties are an ecosystem balancing mechanism.
penalty | value | var | desc |
---|---|---|---|
SDEX daily | 50% | sdexPenalty |
SDEX burn pool |
SDEX LP daily | 50% | sdexlpPenalty |
LP tokens forfeited into treasury |
query | type | desc |
---|---|---|
auth |
address | Address of the contract deployer |
sdexPenalty |
unit256 | Penalty rate to be set by auth |
sdexlpPenalty |
unit256 | LP tokens forfeited into treasury to be set by auth |
- User uses react front-end to timelock and deposit SDEX or SDEX LP tokens into minter
- Deposit data is stored on-chain in an array
isLiquidity
is set to 0 if SDEX is deposited or 1 if SDEX LP is deposited- As time elapses the daily NFT rate is derived from multiplying the amount of SDEX staked by
sdexAPY
once per day mint
is called by the user and the currenttimestamp
is > thanendTimestamp
- The minter contract returns the staked SDEX to the users wallet and mints the APY NFT to their wallet
wallet | staked | minedAPY | startTimestamp | endTimestamp | isLiquidity |
---|---|---|---|---|---|
0x82C879fdBd65aD36f8Fccc... | 50000 | 0.17 | 55469846561 | 83469846588 | 0 |
query | type | desc |
---|---|---|
wallet | address | Address of wallet which staked tokens |
staked | uint256 | Number of tokens which are held in the smart contract for this specific wallet |
minedAPY | uint256 | Current NFT value, updated once per day |
startTimestamp | uint256 | Time of when the position was opened |
endTimestamp | uint256 | Time of when the position will mature and mint can be called without penalty |
isLiquidity | bool | Identifies whether the deposit is an LP token or SDEX, 1 = yes 0 = no |