Vuilding on top of Vuilders: Create Something Cool with Existing Contracts on Vite

Joel Yang
Vite Labs
Published in
5 min readMay 27, 2022

--

Since we hosted our first hackathon, many crypto/web3 builders have joined the Vite ecosystem. Some of them launched their own project on Vite, most prominently Vitamin Coin; some of them joined Vite Labs, for example, niklr, the creator of Quota Bank, and Mike, the creator of Immutable Notes.

When we go through all the submissions over the last year, we realize there is another special category of submissions that is overlooked but extremely valuable to the Vite ecosystem. These are winning bounty submissions that have never been launched or utilized by our community.

We have compiled a list here to highlight their importance. It is our hope that our community of ecosystem vuilders will see their value and keep building on them and eventually launch them as useful projects or tools.

All of the featured submissions include only contracts. For them to be functional, working frontends are required. We highly recommend building the frontends with a forked clone of Vite Express since it implements many common features such as ViteConnect, themes, networks, internationalization, and global state management.

Sunk Cost Game

The Sunk Cost Game is a fun dapp similar to Fomo3D for rewarding lucky Vite users. The purpose of this game will:

  1. Increase TVL
  2. Boost community engagement
  3. Increase trading volume

The features are:

  • Anyone can create a pot after depositing the initial buy-in-amount
  • Pot creators can specify the maximum timer limit, buy-in increment amount, burn amount, and extension amount.
  • Creating a pot starts its timer and sets its token type id
  • Players have a limited amount of time to buy into a pot
  • Every time a player buys in, the timer is extended by the extension amount.
  • Each new buy-in is incrementally more expensive than the last by the buy-in increment amount
  • Players can buy in as many times as they want
  • Part of each buy-in will be burnt if a burn amount is set
  • The pot’s balance goes to the last player to buy in before the timer ends

Contract Code

https://github.com/samuelemarro/gr13-vite-sunk-cost

Use Case Ideas

  • Gaming

Joint Account

The Joint Account is a dapp for holding funds between multiple accounts. This will:

  1. Protect funds of compromised accounts
  2. Allow funds to only move by majority vote
  3. Enable escrow services

The features are:

  • Anyone can create a joint account
  • Joint account makers can specify who can vote and the approval threshold to move funds
  • Joint accounts can hold multiple token types
  • Joint account members can propose a motion to move a specific token type and amount to a specific address
  • Joint account members can vote to pass the motion or not (not voting counts as rejecting the motion)
  • If the approval threshold to pass the motion is met, the transfer is executed and then the motion and votes are reset
  • Motions can be replaced or removed at any time by any joint account member; when this happens, votes are reset.

Contract Code

https://github.com/samuelemarro/gr13-vite-joint-account

Use Case Ideas

  • An alternative to typical multi-sig accounts
  • A way for governance contracts to democratically move funds

Initial Token Auction

The Initial Token Auction is a dapp for distributing an allotted amount of tokens to the highest bidders. This will enable:

  1. More efficient price discovery of new tokens
  2. Funding for teams in exchange for equity of their token
  3. Community engagement

The features are:

  • Anyone can start an auction by locking up a fixed amount of tokens and specifying an end date
  • To place a bid, users lock up however much Vite they want to spend and specify the unit price (in terms of Vite) that they are willing to pay per token.
  • Users can place/withdraw as many bids as they want before the end date
  • On the end date, the contract will halt bid placing/withdrawing and go down the list of bids from highest to lowest unit price. At each bid, the Vite amount is divided by the unit price to get the token amount which is then sent to the placer of the bid and Vite amount is sent to the auction starter. This process continues until the locked tokens are depleted (the last bid may possibly only receive a fraction of what they bid for).
  • All bidders who didn’t specify a high enough unit price will have their Vite sent back to them. If the last winning bid could only get a fraction of what they were willing to pay for, the difference in Vite is sent back to them.

Contract Code

https://github.com/ufe-pr/vite-token-auction

Use Case Ideas

  • Launching a new token on Vite
  • Raising new rounds of funding in a decentralized way

Creator Token Platform

The Creator Token Platform is a platform that allows anyone to have their own tradeable token via a bonding curve. This will enable:

  1. Financial compensation for creators
  2. Equity in other people’s success
  3. Instant liquidity for any buy/sell/swap

The features are:

  • By default, all Vite addresses are allocated 10,000 of their own tokens
  • Tokens after the first 10,000 are minted and burned on a bonding curve
  • All creator tokens are backed with Vite
  • Creator tokens can be swapped for other creator tokens and traded with other accounts

Contract Code

https://github.com/samuelemarro/gr13-vite-creator-token

Use Case Ideas

  • Gauging community approval
  • Raising funds for anyone with just a Vite address
  • Projects expected to have low trading volume

Token Drip Vault

The Token Drip Vault is a public utility where users can safely lock up their Vite tokens in a contract that throttles the withdrawal amount so that:

  1. Token holders can have confidence that the token cannot be rugged
  2. Accounts can allocate a steady stream of tokens to specific addresses like an allowance
  3. Crypto hodlers worried about having their keys stolen can ensure they will never lose all their deposited tokens at once

The features are:

  • Users can create an arbitrary amount of “vaults”
  • Vaults have specific vault properties that the owner (i.e. creator/sender) and beneficiaries can and cannot set during and/or after vault creation (see “Contract Requirements” for details)
  • Each vault has an owner-defined “cycle” which is the period where new funds become available to beneficiaries to withdraw. Once a vault has had the allotted amount withdrawn, beneficiaries have to wait until the next cycle to withdraw more funds.
  • Beneficiaries can choose how many tokens they want to withdraw (up to the allotted amount).
  • Beneficiaries may revoke themselves

Contract Code

https://github.com/ufe-pr/vite-token-drip-vault

Use Case Ideas

  • Recurring allowances
  • Employee payroll
  • Locking up large token allocations for teams/investors

--

--