Introduction

This documentation contains an introduction and detailed Smart Contract reference for Viralic Protocol. It's intended to be a resource for people who have not familiarity with the protocol and needs getting more details about it.

If that's not you (yet), you may prefer to visit the Faq or the Blog before consulting this reference.

Don't be shy about asking for help in the Discord chatroom.

The Protocol

Viralic Protocol (Viral Algorithmic Protocol) is a decentralized experimental protocol built on Solidity Smart Contracts for BSC (Binance Smart Chain).

  • Protocol adopters can earn Token Rewards by contributing to the Protocol.
  • Viralic Protocol makes available two types of tokens, with different mining algorithms: VIC and VIP.
  • Viralic Protocol implements brand new Smart Contracts and Algorithms that will give value to community contribution.
  • VIC Mining: new referrals generated with a valid referrer code let you win VIC tokens!
  • VIP Mining: investing VIC tokens in the VIP Daily Mining Session gives chance to win big VIP prizes!
  • VIP Staking: let you farm VIC tokens with exponential time based rewards!
  • Disclaimer!: Contracts have been checked with code security tools and are available for public audit on Github, but are not officially audited yet (in the future could), so DYOR (Do your own research) and Use at your own risk!.

Mining VIC Tokens

  • VIC Tokens are minted with Proof of Virality algorithm.
  • Every time a new Referral Code is generated on a new account/wallet, a code from a referrer can be specified. If the referral chain is validated from the Antifraud system a prize in VIC token is assigned both to the new user and the owner of the referrer code.
    Only wallets/accounts authorized by the Antifraud Oracle (managed by community authorized addresses) will be allowed to get VIC rewards when creating for the first time the personal Referral Code, but every account/wallet is always allowed to generate a starting Referral Code.
  • The referrer (the owner of a referral code) can spread its own code on social networks, communities or other media to attract new users, so gaining a prize in VIC tokens for every new user adopting the protocol and generating the personal referral by specifying that code.
  • At Protocol Launch, all ETH/BSC accounts created and used before the launch date will be authorized by the Antifraud Oracle!
  • Every VIC represents also a single ticket spendable for VIP Lottery Mining (see the next chapter). This gives intrinsic value to VIC Tokens.
  • All VIC Tokens will be mined with Community Contribution, without ICOs. Only 50 VICs are granted to first 10 active contributors to garantee the execution of the first Mining Sessions.

Mining VIP Tokens

  • VIP Tokens are minted with Daily Lottery Mining Sessions, simulating Proof of Work algorithm.
  • Every 24 hours (1 epoch) a new mining session can be finalized, and after finalization another session starts.
  • In the time intercurring between two consecutive sessions, investors can spend their VIC tokens to partecipate in the current epoch daily random lottery, rewarding with VIP prizes.
  • Current Prizes plan per Mining Session:


    Prize #12000 VIP
    Prize #21800 VIP
    Prize #31600 VIP
    Prize #41400 VIP
    Prize #51200 VIP
    Prize #61000 VIP
    Prize #7800 VIP
    Prize #8600 VIP
    Prize #9400 VIP
    Prize #10200 VIP

  • When the daily epoch countdown expires, entire community is allowed to compete for sending the transaction that finalizes the current Mining Session, that rewards the caller with a VIC prize (the minimum in the prizes plan, currently 200 VIP).
  • After the mining session transaction, and after some BSC network blocks are mined (ex. 11 blocks for a plan of 10 prizes) the secure random number generation transaction for VIP prizes assignment will be available. The entire community is allowed to compete for sending the random number generation transaction, that rewards the sender with a small BSC prize for gas refund.
  • Smart Contracts from the community are welcome to mine VIP Tokens as a pool, so gaining lossless and proportional rewards distribution (similar to Bitcoin mining pools).
  • VIP Tokens will be the basis for future protocol expansions (ex. Voting DAO for Protocol Governance).
  • All VIP Tokens will be mined with Community Contribution, without ICOs or Pre-Mine.
  • Scarcity plan: every year the prizes plan will be reduced to 60% of the previous values. This will limit the VIP token potentially mintable by an exponential factor, so defining a soft cap of something more than 10 millions. This algorithm designs VIP as digital coin with potentially exponential increasing value (with similarity to Bitcoin or other scarcity digital assets).
Screenshot of TypeScript in Svelte
Amount of VIP minted on yearly basis (Projection)

Staking VIP Tokens

  • VIP Tokens can be staked to be awarded with VIC tokens rewards, increasing on a time basis.
  • The reward computation algorithm is based on:
    • Amount of Tokens staked (linear - proportional relation)
    • Number of blocks elapsed from initial staking transaction (non linear - exponential relation with Monthly incentives)
  • The first month of stake is not rewarded, you need to stake for more time (but at every month expiration you get more rewards!).
  • The rewards are assigned only with the final withdraw transaction.
  • Withdrawing too much frequently you lose your time based (exponential) incentives. The algorithm rewards much more the long term stakers.
Screenshot of TypeScript in Svelte
Amount of VIC rewarded to 1 Staked VIP, on Weekly basis

  • It's possible to increase your stake amount, with a recomputation of your time incentives. Due to recomputation effect, you need time to get the same amount of rewards, but after some weeks the rewards exponential increase will be worth the wait!
Screenshot of TypeScript in Svelte
Effect on VIC Rewards Plan caused by a stake amount update from 10 VIP to 30 VIP (Increment of 20) at week #39

Contracts

VIC Token

A BEP20 Smart Contract token representing coins mined with "Proof of Virality" algorithm. Every VIC represents a single ticket spendable for VIP Lottery Mining.

VIP Token

A BEP20 Smart Contract token representing coins mined with daily Lottery Mining Sessions, simulating "Proof of Work" algorithm.

VIC Minter

The smart contract with minting rights towards VIC tokens. Every time a new referral code is generated on a new account, a code from a referrer can be specified. If the referral chain is validated from the Antifraud system a prize in VIC token is assigned to the new user and the owner of the referrer code. The referrer (the owner of a referral code) can spread its own code on social networks, ecc. to attract new users, so gaining a prize in VIC tokens for every user that generates a new code using that referrer code.

VIP Minter

VicTokenMinter.sol
The smart contract with minting rights towards VIC Tokens. Every 24 hours (1 epoch) a new mining session can be started. In the meantime investors can invest their VIC tokens to be partecipate in VIP prize rewarding random lottery. The entire community is allowed to compete for sending the final session mining transaction (when available), that rewards the caller with a VIC prize (the minimum in the prize plan).

Randomizer Oracle

VicRandomizerOracle.sol
An Oracle smart contract that interacts with VIP Minter.
Randomizer Oracle manage secure random number generation for Lottery based VIP tokens mining. The entire community is allowed to compete for sending the random number generation transaction that rewards the caller with a small BNB prize. Random generation is available after some blocks are elapsed from the launch of the mining session transaction and is based on 3 different past block hashes for every lottery prize (future hashes respect to mining session execution block, and past hashes respect to random generation transaction block).

Antifraud Oracle

VicAntifraudOracle.sol
An Oracle smart contract that interacts with VIC Minter.
Antifraud Oracle has rights to accept/reject queued requests for referral anti-fraud validation.
Only accounts authorized from the community will be allowed to process antifraud requests. Allowed senders can compete for sending antifraud validation transaction, that rewards the caller with a small BNB prize to refund for gas.