Tokens

What everyone needs to know

  • By default, all payments received by a Snowcone project are converted into tokens. These tokens are delivered to a payee-specified recipient as well as any addresses included in the project's reserved token list. The number of tokens created is proportional to the amount paid and the weight (i.e. exchange rate) of the current financing cycle for the project. Using data sources, projects may alter or enhance this default behavior.

  • By default, the protocol distributes tokens to receivers using SNOWTokenStore's internal accounting system. These are fungible, but do not adhere to the ERC-20 standard; consequently, they are incompatible with ecosystem ERC-20/ERC-721 marketplaces such as AMMs and Opensea. Their balances may be used to cast votes on several platforms.

  • Projects can issue their own ERC-20 token directly from the protocol to use as its token. Projects can also bring their own token as long as it conforms to the ISNOWToken interface and uses 18 decimal fixed point accounting. This makes it possible to use ERC-1155's or custom tokens.

  • Once a project has issued a token, token holders can export tokens from the protocol's internal accounting mechanism in SNOWTokenStore to their wallet to use across Web3. A project's owner can also force project tokens to be issued directly to the exported version. This bypasses the internal accounting mechanism, but slightly increases gas costs for transactions that requires tokens to be minted.

  • By default, tokens can be redeemed by holders to reclaim a portion of what's in the project's overflow. The amount of overflow claimable is determined by the redemptionRate of the project's current funding cycle. Projects can override or extend this default behavior. Redeeming tokens burns them, shrinking the total supply.

  • A project owner can mint and distribute more of the project's tokens on demand. This behavior must be explicitly allowed on a per-funding cycle basis.

  • A project can use its tokens however it wishes. It can be purely ceremonial, used for governance, used for airdrops, or whatever.

What you'll want to know if you're building

  • Tokens can be minted on-demand by project owners or their operators by calling SNOWController.mintTokensOf(...). The ability to do so must be explicitly turned on via a funding cycle configuration metadata parameter.

  • Tokens can be burned on-demand by holders by calling SNOWController.burnTokensOf(...). The ability to do so can be turned off via a funding cycle configuration metadata parameter.

Last updated

SnowconeDAO