Hackico: a project to profit from market discrepancy in ICOs like EOS

in #utopian-io6 years ago (edited)

Hackico

This (Not so quick and not so dirty) project help you profit from market discrepancy in ICOs like EOS.

EOS has a new batch of tokens sold everyday, for 350 period of 23 Hours. The token can already be traded, while the daily ICO is ongoing.

This create an opportunity to profit: the daily ICO price won't always be aligned with the market price due to various reason (FOMO, finishing ICO time compared to investors timezone, loss of popularity, spam attacks...).

We use two strategies:

  • we enter the ICO before the last minute. The price is decided at the end so most of people join at the end. You can see nice chart here: http://eosscan.io/
  • we choose an expected return before we get in. For instance you can choose to only enter, if at the time of calculation (as explained before) the expected return is 50% because you are greedy or 15% if you are prudent. Note: you will get less because more people will join after you.

No need to restart the program everyday. Just make sure the transaction to buy is ready/unused(see below for more details).

Installation

You need to have a working go(lang) environment in version >=1.9 and clone this repository. I can provide executable if there are requests.

You first need to get the only dependency:

$ go get github.com/cryptohazard/coinmarketcap

Now you can go in the exec folder and build the executable( I added the -o option to change the name):

$ cd exec/
$ go build -o hackico main.go
$ ./hackico

Configuration

Threshold percentage

Choose the thresold at which you want to get by changing it in hackico.go:

// threshold decide when we get in.
// 15 % is conservative, 40% is greedy ;-)
threshold := 25.37

Ethereum buying transaction

For now ;-), this program doesn't create the transaction to buy the EOS tokens. So you need to make your own transaction with your favorite ethereum client (geth, parity, myetherwallet, metamask ...).
Just put the raw transaction in a file called tx located with the executable. You can see an example of a random transaction already sent during the ICO in the provided tx file.

The program uses the eth_sendRawTransaction from etherscan broadcast API to broadcast the transaction.

Tips

To get a fast confirmation, put the gas limit as low as you can and the gas price higher.

To claim your tokens, use claim(uint day) instead of claimAll(). It will use less gas ;-).

Expected logs

When you start the program, you should see information on daily ICO, the period, a countdown, the price:

Eos daily ico start time:  2017-07-01 15:00:00 +0200 CEST
Today:  2018-04-25 23:42:58.629965922 +0200 CEST m=+0.034309296
we are on period  312
This period finishes at  2018-04-26 15:00:00 +0200 CEST
Countdown:  15h17m0s left
Current price: 1 eos =  0.02341794846431574 eth

If the transaction was broadcasted, you should see:

Get rich ... today perhaps

You still need to check if you got in at the right period. Due to Ethereum network or your chosen fees, your transaction can get through in the next period.

You also need to update the transaction for the next periods.

If the expected returns are lower than he threshold percentage you put, the transaction is not broadcasted and the program is ready for the next period. You should see:

Get rich ... another day

Just remember to make sure your transaction is ready/unused. If you didn't get in today, you might get in tomorrow since the program is ready. If you got in, update your transaction to not miss the next periods.

Responsibility

You are responsible for your own transaction. My program will just broadcast it. If you make a mistake in the contract, gas price, gas limit, amount ... I can not do anything about it.

Eventual roadmap

  • clean the code
  • add options
  • add wallet
  • send ether
  • wait until it's accepted
  • retrieve the eos token from contract
  • initiate deal with shapeshift or other exchange API
  • send eos
  • get ether
  • compute ROI

Feel free to open issues, make pull requests...



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been reviewed.

  • It seems you are missing this command for those who are starting from scratch:
    go get ./... it is needed just before go build.
  • Could you provide a sample tx file?
  • It would have been nice to be explained what the program will output and what to expect. Is there a count down? This is what I'm getting:
Eos daily ico start time:  2017-07-01 09:00:00 -0400 EDT
Today:  2018-04-25 12:40:52.244142155 -0400 EDT
we are on period  312
This period finishes at  2018-04-26 09:00:00 -0400 EDT
{312 2000000 628.209428331 0.0003141047141655 2018-04-26T13:00:00.000Z 0 0 2018-04-25T14:00:00.000Z}
eos/eth  0.02314093805990297
eos/eth  0.02314093805990297
eos/eth  0.02315767421239223
Symbol: 'EOS', Name: 'EOS', Price Bitcoin: ' 0.00160273 ', Price EUR: ' 11.6859026615 '
Symbol: 'ETH', Name: 'Ethereum', Price Bitcoin: ' 0.0692097 ', Price EUR: ' 504.623329369 '

Need help? Write a ticket on https://support.utopian.io.
Chat with us on Discord.

[utopian-moderator]

Hi, @helo, thanks for the good review. You are right they were a lot of missing details. I can guess I don't think about all of that since I am used to it.
I made a new commit, updated the readme and the post. You can see a countdown now, a tx example, better messages. I hope it is complete enough for anyone to try her luck.

Let me know it you see anything missing to accept this submission. Thanks again for your comment.

Good job, but you forgot the go get ./... command! it is needed just before go build.

Also with the use of the round function, the standard go distribution (1.8.3) with ubuntu is not longer good enough. You will need 1.9 or 1.10, then it compiles.

I corrected the dependency :

$ go get github.com/cryptohazard/coinmarketcap

I forgot how ubuntu is not synchronized with go since it is usually compatible. I am on 1.9.2. I just added the note on the golang version.

Great, looking forward to the next updates.

Post and Readme updated. That should complete the project submission.

Voilà

Hey @cryptohazard! Thank you for the great work you've done!

We're already looking forward to your next contribution!

Fully Decentralized Rewards

We hope you will take the time to share your expertise and knowledge by rating contributions made by others on Utopian.io to help us reward the best contributions together.

Utopian Witness!

Vote for Utopian Witness! We are made of developers, system administrators, entrepreneurs, artists, content creators, thinkers. We embrace every nationality, mindset and belief.

Want to chat? Join us on Discord https://discord.me/utopian-io

Loading...

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 65012.58
ETH 3101.28
USDT 1.00
SBD 3.86