I have created sample tokens Smart Contract with the payable feature/constructor, if someone pay from their Ethereum address to Smart Contract will get instant token into their Ethereum address.

But how can I accept bitcoin like most of ICO provide an option to buy their Tokens with bitcoin, how they provide unique bitcoin addresses to every new user, and after receiving bitcoins on that address, how they manually/automatically transfer tokens into payee Ethereum address?

2 Answers 2


I suspect that most ICOs are not fully decentralised - that they effectively manage BTC payments / transfers in a Spreadsheet (asking people to create an account, register the address that they will transfer the BTC from etc.).

BTC Relay might help you achieve what you want to do:

Fully decentralized and trustless method of verifying Bitcoin transactions for their Ethereum and smart contract applications.

BTC Relay is a building block for developers that want interoperability between Ethereum and Bitcoin. For example, developers who want to allow their users to pay with Bitcoin to use their Ethereum application.

However, I suspect that you will still require users to create the mapping between the incoming BTC address and the destination ETH address (where the tokens should be sent to).

  • Can i accept bitcoin in ERC-20 Contract? Commented Apr 11, 2018 at 10:46

You cant accept bitcoin in an ethereum contract.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.