There are many exchanges that provide APIs for getting the market price of ether in USD and other currencies. As an example of the different data sets:

Cryptonator 1 eth = $19.27
CoinGecko 1 eth = $19.33916452
Ether Pricre 1 eth = $19.15060
Etherscan.io 1 eth = $19.42

The price on each exchange is different.

From where do these exchanges get the current market price of ether? There is no centralized authority which provides these prices.

Also, which of them should I trust for real price information?

I want to create an API to get the price of ether in different currencies. How can I achieve that?

  • Those prices are not necessarily different. Dollars have different values too. One dollar at Cryptonator may be worth more or less than one dollar at CoinGecko because they might support different payment methods, have different withdrawal fees, take different amounts of time to withdraw, and so on. You have to remember, each exchange has a slightly different asset that is denominated in dollars. Mar 6, 2017 at 13:13
  • I think the payment method should not affect the price chart. The withdrawal fee is applied on the exchange price mentioned. Like if on an exchange ABC, 1eth= $20 and withdrawal fee is 0.2%, then on withdrawal you will get $19.96. SO the USD don't have different values. Mar 7, 2017 at 4:25
  • 2
    It does, since that exchange has an 0.2% fee and not all exchanges have the same fees. Also, some exchanges have delays in withdrawal times. Some charge a per-withdrawal fee or have a minimum. Also, there's different risk associated with the possibility that the exchange might refuse to process the withdrawal for some reason. The point is, just because two assets are both denominated "1 USD", it does not follow that they have the same value. If you think they must, then trade me $1,000 cash for a $1,000 IOU, since they are both denominated 1,000 USD. Mar 7, 2017 at 4:43

4 Answers 4


From where these exchanges get the current market price of ether?

The price is dependent on what users are currently valuing ether at. The exchanges don't set the prices, nor get them from anywhere else.

If someone who is trading on one exchange is willing to pay more than someone trading on another exchange, then the price of ether on the first exchange will be pushed higher. (You also have to take into account the trading volume, which will be different on different exchanges.)

Firstly I am confused which of them to trust for real price.

There isn't a single real price. The exchanges are separate entities, and work in isolation. (Or should.)

I want to create an api to get ether price in different currencies?

Pick whichever exchange you trust most, and use their APIs. If you pick the exchange with the highest volume, you pick the exchange that most people trust most. (In theory.)

  • 1
    Great Post! Thanks. I am thinking of an approach as suggested by Herman to choose 2-3 exchanges with most users and calculate the average so even if one goes down for any reason, I an still get the price. Mar 6, 2017 at 9:14
  • 1
    Yep, good idea :-) Mar 6, 2017 at 9:20

Prices are driven by supply and demand, just like what happens with FIAT currencies. Hence, different exchanges will provide different prices. Add to that the complication that some sites will just recollect information from one or several exchanges, apply (if needed) a number of calculations, and give you a processed price.

If you want to create an API, just select the API of the exchanges you trust the most, and decide on a way to average their values (as in Ax + By = C) to output a price.


List price

On each exchange, users buy/sell cryptocurrencies (that's what makes them exchanges). Users can sell/buy them using fiat currencies (e.g., USD), other cryptocurrencies, or anything else the exchange accepts (including, but not limited to, vouchers redeemable only by the exchange, gold, and spotted owls).

In the case of a currency pair such as ETH/USD, at a particular moment, there might be a bid for (an offer to buy) 500 ETH for $500 ($1/ETH) and an ask for (an offer to sell) 10 ETH for $11 ($1.10/ETH); this is known as an auction market and is, I believe, the dominant cryptocurrency exchange type (cf. shapeshift which is a dealer market). The difference between the bid and ask prices (spot price) is known as the spread. The smaller the spread, the better the pricing information (IMHO) since the price of a trade lies anywhere between the spread. Some exchanges may list some blend between the bid and ask price as the currency's list price. Others may use the last price a trade was made at.

True price

The notion of a "true price" is a lie, just like the notion of a currency exchange rate. If you watch the news and see a currency price for a particular day, at least in places I'm familiar with, what you're usually seeing is the last trade according to one time source that occurred before a particular time.

Instead, what you may be interested in is how much it would cost you to buy an ether with USD or how much you could sell an ether for. What you probably want to do in that case is look at the different fees for withdrawing/depositing. For example, if a particular exchange charged 1% on deposits and withdrawals, it might make more sense in your situation to add 2% to the posted rate if you're looking at buying or subtracting 2% from the posted rate if you're looking to sell.

If an exchange is seen as being unable to meet its debt obligations, you would also need to take that into account. For example, if an exchange were hacked and ether was stolen, you might see very cheap ether on the site: users who are owed ether by the exchange might be in doubt as to whether they could withdraw their ether and, instead, settle for fewer USD/CAD/GBP/whatever than they might ostensibly obtain elsewhere. Similarly, in countries that have capital restrictions, currency that is seen as superior to the native currency might fetch a better through unofficial channels than through official ones (e.g., USD in Venezuela).

Exchanges that work using USDT instead of USD should also not have their USDT valued on par with USD. Firstly, there is the risk that Tether may be cooking their books. Secondly, Tether charges a fee if you decide you want to redeem their tokens for USD.


For future readers: i think he meant these data aggregators, APIs in that case, exchanges dont need APIs its mostly just demand and supply esp if they dont have deep liquidity. Check out https://docs.chain.link/docs/using-chainlink-reference-contracts/ coolest part about Chain Link is that each data feed is updated by multiple, independent Chain Link oracle operators. So using it gives you the most accurate price feed, worth the buck.

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.