Request form
ERC721 NFT Staking with Infinite Rewards
  • Staking
  • NFT
  • ERC721
  • No-Code Deploy
  • Docs
    Source
    ChefGPT

    ERC721 NFT Staking with Infinite Rewards

    NFT staking contract that rewards stakers with an exact number of ERC20 tokens per day. On deployment, the owner specifies a daily reward rate, and an address that tokens will be pulled from. Neither of these can be changed. Each staked NFT receives the same number of tokens every day. The per NFT rate stays the same even when the number of staked NFTs increases/decreases. A common usecase is for blockchain-based games, where each NFT rewards a certain number of lives per day.

    available(address) :
    returns the number of reward tokens available for an address
    redeem() :
    redeems all of a user's reward tokens.
    stake(uint256) :
    stakes a specific tokenID
    withdraw(uint256) :
    withdraws a token from the staking contract
    nft-staking-with-infinite-rewards.sol
    Context.sol
    IERC20.sol
    IERC721.sol
    IERC721Receiver.sol
    IERC165.sol
    ABI:
    Bytecode:

    309 downloads

    Solidity Version

    0.8.15

    Creator

    Cookbook
    Cookbook / ERC721 NFT Staking with Infinite Rewards
  • Staking
  • NFT
  • ERC721
  • No-Code Deploy
  • Docs
    Source
    ChefGPT
    Expand
    Share

    ERC721 NFT Staking with Infinite Rewards

    NFT staking contract that rewards stakers with an exact number of ERC20 tokens per day. On deployment, the owner specifies a daily reward rate, and an address that tokens will be pulled from. Neither of these can be changed. Each staked NFT receives the same number of tokens every day. The per NFT rate stays the same even when the number of staked NFTs increases/decreases. A common usecase is for blockchain-based games, where each NFT rewards a certain number of lives per day.

    available(address) :
    returns the number of reward tokens available for an address
    redeem() :
    redeems all of a user's reward tokens.
    stake(uint256) :
    stakes a specific tokenID
    withdraw(uint256) :
    withdraws a token from the staking contract
    nft-staking-with-infinite-rewards.sol
    Context.sol
    IERC20.sol
    IERC721.sol
    IERC721Receiver.sol
    IERC165.sol
    ABI:
    Bytecode:

    Get Cookin'
    star icon309

    309 downloads

    Solidity Version

    0.8.15

    Creator

    Cookbook