Every few days another ICO is announced on this forum. Some of them use airdrops as a lure - don't get me wrong, I like airdrops, but the ICO part is what we're concerned about here.
I invite you all to list and discuss potential scam ICOs in this thread. That doesn't mean add an announcement/project just because you don't like them, or didn't get free tokens, this is to help prevent people investing money in scams.
I'll start by listing two new ones from this week.
# 1:
Amazon X Token (AmazonExchage)
https://bitcointalksearch.org/topic/the-upcoming-amazon-x-token-amazonexchangenet-2456939 ICO starting Dec 1st.
This is an obvious scam. They use Amazon's brand name and imagery on their site, and all over their Twitter feed, giving the impression it's an Amazon company, it's not.
The domain is registered to: Vedran Hochberger,
[email protected] in Croatia - no affiliation to Amazon
The airdrop form is just for harvesting email addresses, and doesn't even have a field for MEW addresses.
# 2:
Ethereum Universe https://bitcointalksearch.org/topic/annairdropeut-ethereum-universe-secure-low-supply-in-development-2462231 ICO starting Dec 2nd.
This token claims that it will "revolutionize monetary policy in the entire world" and solve a plethora of issues with Ethereum and market adoption, claims to use "multiple hashing algorithms" to ensure security, etc., etc. Everything this token does is inherited from Ethereum. Roadmap includes numerous ridiculous claims.
Take a look at the website and roadmap to see what I mean:
https://ethereumuniverse.org/The ECR20 is about as basic as you can get:
pragma solidity ^0.4.11;
contract Token {
string public symbol = "";
string public name = "";
uint8 public constant decimals = 18;
uint256 _totalSupply = 0;
address owner = 0;
bool setupDone = false;
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
mapping(address => uint256) balances;
mapping(address => mapping (address => uint256)) allowed;
function Token(address adr) {
owner = adr;
}
function SetupToken(string tokenName, string tokenSymbol, uint256 tokenSupply)
{
if (msg.sender == owner && setupDone == false)
{
symbol = tokenSymbol;
name = tokenName;
_totalSupply = tokenSupply * 1000000000000000000;
balances[owner] = _totalSupply;
setupDone = true;
}
}
function totalSupply() constant returns (uint256 totalSupply) {
return _totalSupply;
}
function balanceOf(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
function transfer(address _to, uint256 _amount) returns (bool success) {
if (balances[msg.sender] >= _amount
&& _amount > 0
&& balances[_to] + _amount > balances[_to]) {
balances[msg.sender] -= _amount;
balances[_to] += _amount;
Transfer(msg.sender, _to, _amount);
return true;
} else {
return false;
}
}
function transferFrom(
address _from,
address _to,
uint256 _amount
) returns (bool success) {
if (balances[_from] >= _amount
&& allowed[_from][msg.sender] >= _amount
&& _amount > 0
&& balances[_to] + _amount > balances[_to]) {
balances[_from] -= _amount;
allowed[_from][msg.sender] -= _amount;
balances[_to] += _amount;
Transfer(_from, _to, _amount);
return true;
} else {
return false;
}
}
function approve(address _spender, uint256 _amount) returns (bool success) {
allowed[msg.sender][_spender] = _amount;
Approval(msg.sender, _spender, _amount);
return true;
}
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
return allowed[_owner][_spender];
}
}
Please be careful where you invest your money, and if you find other obvious scams, please post them here with a brief description of why it's a scam.