I know that we can program the contract that sends ETH based on $USD if we use oracles. But isn’t there any way to achieve this without the third party?


The problem is that price of ETH in USD is based on what the market will pay for it. All pricing information comes from exchanges who have a dynamic sell/buy list, changing the price every second.

If you look at CoinMarketCap, you will see that the price of ETH on that site is determined by the price on multiple exchanges averaged out:


You would need an oracle to collect and send that data to your contract, unless you want to specify a fixed price for ETH/USD.

  • Thanks Shawn! I guess we can automate the process of retrieving the price data but the question is if it’s safe or not. Do you have any suggestions of oracles we can use? – sflow May 21 '18 at 1:08
  • 1
    I have not personally used an oracle service for this, but the internet says MakerDAO is a good choice. – Shawn Tabrizi May 21 '18 at 1:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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