Login

Platform for HORECA customer service

Save at least 20 minutes when you go out for lunch or dinner by using the innovation Gastery app. Time is money. Time your order!
2 945 033 WTR
Tokens left till the first round ENDs

GET 20% bonus Join ico

Buy WTR tokens first ico round is opened
Softcap reached $ 8 400 000

MVP status: ready

We've developed the MVP of the web-version of our application for guests. Try it right now on PC or smartphone. Also watch the promo video of our service usage in real life.

TRY MVP
Token model

Token model

1-3. Investors purchase WTR tokens during ICO
4. Restaurants are paying commission fee for using Gastery app.
5. Investors sell token on the local exchange.
6-7. For sign up, friend invitation, making an order and leaving a reviews users will be awarded with WTR-tokens
8. Tokens for users' awards will be buyed back from investors according to the market price.
9. Purchased tokens are transferred to user's wallet
10-11. When user spend tokens, they are listed on the local exchange, where Gastery or traders will be able to purchase them.
12. Restaurant will get fiat money, if the order would be payed with WTR. Or user can just convert WTR-token into fiat money
ICO RESTAURANT USER FIAT EXCHANGE GASTERY 4 5 8 9 INVESTORS 1 2 3 10 6 11 7 12

Documents

ICO ROUNDS

ICO pre-SALE - Finished
Start 26 December, 2017 14:00 (utc 0)
Price $ 0.05 FOR 1 WTR
End 1 March, 2018
TOKENS FOR SALE 8.000.000 WTR
CURRENCIES ACCEPTED BTC, ETH, BCH
MINIMUM CONTRIBUTION $ 10
ICO SALE first round
Start 1 May, 2018 14:00 (utc 0)
Price $ 0.08 FOR 1 WTR
End 20.000.000 WTR TOKENS SOLD
TOKENS FOR SALE 20.000.000 WTR
CURRENCIES ACCEPTED BTC, ETH, BCH, LTC
MINIMUM CONTRIBUTION $ 50
ICO SALE second round
Start 20.000.000 WTR TOKENS SOLD
Price $ 0.085 FOR 1 WTR
End 40.000.000 WTR TOKENS SOLD
TOKENS FOR SALE 20.000.000 WTR
CURRENCIES ACCEPTED BTC, ETH, BCH, LTC
MINIMUM CONTRIBUTION $ 50
ICO SALE third round
Start 40.000.000 WTR TOKENS SOLD
Price $ 0.09 FOR 1 WTR
End 60.000.000 WTR TOKENS SOLD
TOKENS FOR SALE 20.000.000 WTR
CURRENCIES ACCEPTED BTC, ETH, BCH, LTC
MINIMUM CONTRIBUTION $ 50
ICO SALE fourth round
Start 60.000.000 WTR TOKENS SOLD
Price $ 0.095 FOR 1 WTR
End 80.000.000 WTR TOKENS SOLD
TOKENS FOR SALE 20.000.000 WTR
CURRENCIES ACCEPTED BTC, ETH, BCH, LTC
MINIMUM CONTRIBUTION $ 50
ICO SALE fith round
Start 80.000.000 WTR TOKENS SOLD
Price $ 0.1 FOR 1 WTR
End 90.000.000 WTR TOKENS SOLD
TOKENS FOR SALE 10.000.000 WTR
CURRENCIES ACCEPTED BTC, ETH, BCH, LTC
MINIMUM CONTRIBUTION $ 50

Progress

1 764 397 8 400 000
1 WTR = $0.08 1 WTR = $0.085 1 WTR = $0.09 1 WTR = $0.095 1 WTR = $0.1

Buy a token for 80%

Token distribution

WTR tokens are based on ERC20 standard. The fixed supply is 175,000,000 WTR. 56% will be allocated to the general public in 2 steps: pre-SALE and 5 rounds of SALE.

  • EARLY INVESTORS - 10%
  • reserve - 10%
  • team - 20%
  • token_sale - 56%
  • bounty - 4%

Money Distribution

Here is a short summary of planned costs and the way raised funds are going to be distributed. To go deeper into finances, please learn our White Paper

  • MARKETING AND PROMOTION FOR END-USERS
    50% ($ 4.000.000)
  • RESEARCH AND DEVELOPMENT
    10% ($ 800.000)
  • MANAGEMENT AND OPERATING STAFF
    7% ($ 560.000)
  • SALES OF THE APP TO RESTAURANTS
    20% ($ 1.600.000)
  • TEAM ENFORCEMENT (SUPPORT, CUSTOMER SERVICE ETC)
    13% ($ 1.400.000)

Buy a token with a 20% discount

Roadmap

1
January 2017 Inception of the Idea

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

2
January - July 2017 Market Research

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

3
September - November 2017 Preparation for a pre-SALE

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

4
December - February 2018 Token pre-SALE

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

5
March - May 2018 Preparation for the ICO, application alpha-test.

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

6
June 2018 Application beta-test

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

7
July 2018 Start of monetization.

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

8
August 2018 Setting up a local exchange.

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

9
September 2018 Scaling (expansion to the largest Russian cities).

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

10
October 2018 Development

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

11
November 2018 Beta-test of the restaurant authomatization system

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

12
December - January 2019 Expansion to the regions

Активная разработка первой версии приложения
Сбор ресторанов на бета-тестирование, для отладки первой версии приложения
Проведение маркетинговых мероприятий для привлечение инвестиций в рамках ICO

Early adopters

Buy a token with a 20% discount

Smart Contract

WTR tokens are based on ERC20 standard. The fixed supply is 175,000,000 WTR with no possibility of additional emission.

Ethterscan

GitHub
pragma solidity ^0.4.18;

library SafeMath {

/**
  * @dev Multiplies two numbers, throws on overflow.
  */
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
assert(c / a == b);
return c;
}

/**
  * @dev Integer division of two numbers, truncating the quotient.
  */
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}

/**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}

/**
  * @dev Adds two numbers, throws on overflow.
  */
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
contract Ownable {
address public owner;


event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


/**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
function Ownable() public {
owner = msg.sender;
}

/**
   * @dev Throws if called by any account other than the owner.
   */
modifier onlyOwner() {
require(msg.sender == owner);
_;
}

/**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
OwnershipTransferred(owner, newOwner);
owner = newOwner;
}

}
contract ERC20Basic {
function totalSupply() public view returns (uint256);
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) public view returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeERC20 {
function safeTransfer(ERC20Basic token, address to, uint256 value) internal {
assert(token.transfer(to, value));
}

function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal {
assert(token.transferFrom(from, to, value));
}

function safeApprove(ERC20 token, address spender, uint256 value) internal {
assert(token.approve(spender, value));
}
}
contract BasicToken is ERC20Basic {
using SafeMath for uint256;

mapping(address => uint256) balances;

uint256 totalSupply_;

function totalSupply() public view returns (uint256) {
return totalSupply_;
}

function transfer(address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[msg.sender]);

// SafeMath.sub will throw if there is not enough balance.
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
Transfer(msg.sender, _to, _value);
return true;
}

function balanceOf(address _owner) public view returns (uint256 balance) {
return balances[_owner];
}

}
contract StandardToken is ERC20, BasicToken {

mapping (address => mapping (address => uint256)) internal allowed;

function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);

balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
Transfer(_from, _to, _value);
return true;
}

function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}

function allowance(address _owner, address _spender) public view returns (uint256) {
return allowed[_owner][_spender];
}

function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}

function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
uint oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}

}
contract TokenTimelock {
using SafeERC20 for ERC20Basic;

// ERC20 basic token contract being held
ERC20Basic public token;

// beneficiary of tokens after they are released
address public beneficiary;

// timestamp when token release is enabled
uint256 public releaseTime;

function TokenTimelock(ERC20Basic _token, address _beneficiary, uint256 _releaseTime) public {
require(_releaseTime > now);
token = _token;
beneficiary = _beneficiary;
releaseTime = _releaseTime;
}

/**
   * @notice Transfers tokens held by timelock to beneficiary.
   */
function release() public {
require(now >= releaseTime);

uint256 amount = token.balanceOf(this);
require(amount > 0);

token.safeTransfer(beneficiary, amount);
}
}
contract BurnableToken is BasicToken {

event Burn(address indexed burner, uint256 value);

/**
   * @dev Burns a specific amount of tokens.
   * @param _value The amount of token to be burned.
   */
function burn(uint256 _value) public {
require(_value <= balances[msg.sender]);
// no need to require value <= totalSupply, since that would imply the
// sender's balance is greater than the totalSupply, which *should* be an assertion failure

address burner = msg.sender;
balances[burner] = balances[burner].sub(_value);
totalSupply_ = totalSupply_.sub(_value);
Burn(burner, _value);
}
}
contract WTRToken is  BurnableToken{
string public constant name = "WTR";
string public constant symbol = "WTR";
uint8 public constant decimals = 4;
uint256 public totalSupply;

function WTRToken() public
{
totalSupply = 175000000 * 10 ** uint256(decimals);
balances[msg.sender] = totalSupply;
}
}
contract WTRCrowdsale is Ownable{

using SafeMath for uint256;


uint256 public constant preSaleStart = 1514296800;
uint256 public constant preSaleEnd = 1519912800;

uint256 public constant SaleStart = 1525183200;
uint256 public constant SaleEnd = 1530453600;

enum Periods {NotStarted, PreSale, Sale, Finished}
Periods public period;

WTRToken public token;
address public wallet;
uint256 public constant rate = 9000;
uint256 public balance;
uint256 public tokens;

mapping(address => uint256) internal balances;

function Crowdsale(address _token, address _wallet) public{
token = WTRToken(_token);
wallet = _wallet;
period = Periods.NotStarted;
}

function nextState() onlyOwner public{
require(period == Periods.NotStarted || period == Periods.PreSale || period == Periods.Sale);

if(period == Periods.NotStarted){
period = Periods.PreSale;
}
else if(period == Periods.PreSale){
period = Periods.Sale;
}
else if(period == Periods.Sale){
period = Periods.Finished;
}
}

function buyTokens() internal
{
uint256 weiAmount = msg.value;
tokens = weiAmount.mul(rate);
bool success = token.transfer(msg.sender, tokens);
require(success);
if(period == Periods.PreSale && period == Periods.Sale)
{
wallet.transfer(msg.value);
}
}

function isValidPeriod() internal constant returns (bool){
if(period == Periods.PreSale)
{
if(now >= preSaleStart && now <= preSaleEnd) return true;
}
else if(period == Periods.Sale)
{
if(now >= SaleStart && now <= SaleEnd) return true;
}

return false;
}

function () public payable{
require(msg.sender != address(0));
require(msg.value > 0);
require(isValidPeriod());

buyTokens();
}

function burningTokens() public onlyOwner{
if(period == Periods.Finished){
token.burn(tokens);
}
}

}                        

Purchase a token with a 20% bonus

FAQ

What is an ICO?

Initial Coin Offering or ICO means the collection of capital with the help of cryptoinvestments in the initial stage of the Project, including the use of cryptocurrencies.

Why do we need blockchain system in our service?

The blockchain technology allows implementing two important functions: data integrity and gamification.

What makes our product unique?

Gastery is intended to solve the key problems of the restaurant industry via a smartphone and provide a convenient platform both for restaurants as service providers and for their customers as consumers. The current market of services designed to optimize and refine the restaurant industry does not have a unified tool, which would solve the existing problems and combine marketing possibilities and unlimited potential functionality.

In which countries can you use Gastery?

You can use Gastery in any country where the internet is available.

What is the role of coins in the application?

WTR coin will be used to reward users for the their reviews, to be given as bonuses, to make people able to earn cryprocurrency by leaving reviews and having meals

How much will the WTR coin cost during the ICO?

pre-SALE - the price of one WTR coin will be 0.05 $. SALE - the price will rise from 0.08 to 0.1 $ according to the bonus program.

Why will the price of the coin grow?

At the end of the ICO, the price of the WTR coin will be 0.1 $ and will only grow after that. With growing demand for our service, the value of the WTR coin will grow respectively. Thus, the cost of services expressed in WTR coins will begin to split up, and the value of one coin will increase.

When will the application be released?

In June, free beta testing of the product will begin in restaurants-partners. At the beginning of July 2018, Gastery will be available for all.

When will investors get a profit?

Investors will be able to sell tokens directly to users of our service on the local exchange after the launching of our application. Moreover, investors can sell them on the open exchange.

How will the funds raised on the pre-SALE and the SALE be used?

pre-SALE funds will be used to create the application, and the money from the SALE will go on the global expansion and marketing

How to become an investor?

Everyone can be an investor. You need to sing up as an investor on our website and follow the instruction at your account.

Can citizens of the United States, China and Republic of Singapore participate in ICO?

Residents of these countries cannot participate in the ICO.

Propose