[Ethereum] Is it possible to create ICO crowdsale seamlessly accepting multiple assets

crowdsaleerc-20etherexchangesico

  • Most of the ICO crowdsales accept ETH only.
  • Some accept BTC.
  • Very few accept other assets.

I was thinking about creating crowdsale that would accept as many assets as possible.

While creating, monitoring, securing wallet for each asset might not be practical, the ETH addresses by definition accept ERC20 tokens.

I was thinking about calling Bittrex API (most amount of assets supported) to check the current value of the token and use BTC as a baseline (1 BTC = 1000 tokens).

In that way I could provide 2 addresses only – BTC and ETH:

  • people who send BTC:

    • 1000 tokens per BTC
    • send signed message containing ETH address to accept ERC20
  • people who send ETH / ERC20:

    • process monitoring the address / mempool
    • getting pricing data from API (maybe weighted average)

Then compile list of all contributors, create and transfer tokens accordingly.


Is that solution possible / reasonable / sensible at all?

  • transactions on blockchain.info and etherscan.io are visible by default anyway
  • signing message with ETH address using BTC private key does not expose any sensitive data
  • it allows people to send tokens with less friction (exchange, spread, gas)

For sake of simplicity in this question I assume ERC20 / ERC223 are treated the same. Newly craeted token is likely to be ERC223. Read more:

Best Answer

This is only a partial answer to your question. One issue you would face is that deposits by people who buy your tokens with BTC or any other cryptocurrency besides ETH would have to be credited manually since they would not be able to interact directly with a smart contract. SONM's ICO accepted both ETH and BTC and run into quite a lot of challenges with the BTC part of the equation. See this article:

When everything got underway, the SONM ICO tokens were selling like hot cakes. Ethereum users automatically receive their tokens, which is always good to see. Investors relying on other cryptocurrencies – mainly Bitcoin – have run into some issues, though. It appears something went wrong with crediting tokens to the investors properly. The SONM team is currently resolving this matter, although it is likely a lot of people may see their money refunded and no tokens issues to them.

This is one of the major problems when dealing with a cryptocurrency ICO and accepting multiple currencies. The SNM token is an ERC20 token issued through a smart contract on the Ethereum blockchain. Deposits in other cryptocurrencies have no viable way to interface with this contract directly. As a result, a lot of deposits had to be credited manually and tokens were sent out accordingly. It appears most Bitcoin investors have had their tokens issued to them, though, which is positive.

According to a SONM team member, this issue arose due to an error with the token amount return function. This issue also affected the display of the number of tokens sold on the ICO website, which did not update automatically in the process.

In this other StackExchange post about how to set up a multicurrency ICO, someone recommended using BTC Relay which creates a bridge between the BTC blockchain and smart contracts.

Related Topic