Waves is a smart contract platform designed for the creation of digital tokens and smart contracts. It features a decentralized token exchange that aims to facilitate token fundraisers, (e.g. Initial Coin Offerings), and the trading of customizable financial instruments on its blockchain. Waves differentiates itself from Ethereum by featuring a decentralized, on-chain, token exchange with anonymity features, such as anonymous order books. Smart contracts on the Waves platform are program in Scala, a functional programming language, and executed by an implementation of the Java Virtual Machine. The platform also employs a Proof of Stake consensus mechanism and a fee-based transaction model. The total supply of WAVES was determined by the ICO and there are no block rewards. There have been many ICOs based on the Waves platform, and the most successful one was MobileGo, a gamification token for the Game Credits platform, which raised $53M in May 2017.