Pricing - Coinbase
Coinbase prices are based on Bitstamp (a different Bitcoin exchange). What Coinbase does is use the “Last Sold” Bitcoin from the Bitstamp exchange. So, based on the price of the Bitcoin last sold through Bitstamp, Coinbase pulls this information through the Bitstamp API and prices coin accordingly.
As expected, there are vulnerabilities in this process. One was found and shared by a Reddit user, Joshua Walters. He created a Bitstamp wallet and put in sell orders much lower than market price and flooded the system with very small sell orders. These were then pulled into Coinbase and would momentarily make the price drop by about $10 for which he then bought the Bitcoin from Coinbase at much lower than market price. He reported this to Coinbase and they have since change their model to at least not consider market floods or very small sell orders like the ones Joshua Walters was executing. The full story can be found on this Reddit post.
Pricing - Circle
As a result of Circle’s model of selling Bitcoin through a reserve it prices a little differently. While Circle also gets it’s information from sources such as Bitstamp, it does not price directly to these other exchanges. Since Circle has its own reserve, it is able to increase its prices. So, it does so by 0.X% for each Bitcoin since it is able to fill the orders without having a matching peer (buyer or seller). This means that although Circle does not have a transaction fee, its increased price essentially serves as a fee.
This has been a conversation among many Circle users and I was able to find more detailed information about people’s experiences with Circle. It seems that many have noticed the increased prices and that Circle transactions can sometimes be slow. An example of a Reddit post about transaction fees and pricing on Circle can be found at this Reddit post.
To understand the pricing of a Bitcoin exchange, a good first place to look is the company website Frequently Asked Questions or Support pages (example here). Next, go ahead and look at what users have to say about the exchange and it's pricing mechanisms. Chances are, the exchange has evolved over time and looking at a forum like Reddit can help uncover pricing strategies and how the exchange may move forward.
Perhaps if we had more time for our project, we could track Reddit posts and see when people are experiencing slow transactions. This may indicate that Circle needs to increase its reserve and if we can time our transactions just right, we could potentially take advantage of that. Of course, the success of this strategy would be dependent on how quick users are to post to Reddit.