In this post, I will be comparing solutions for accessing Ethereum blockchain data as well as market data. There are many great services available now, which one is right for your use case? What are the strengths and weaknesses of each? Let’s dive in!
- Integrating Blockchain 👩🏻💻
- Use Case 1 — Wallets 💰
- Use Case 2 — Investors & Traders 📈
- Use Case 3 — dApps & developers 💻
- Websocket Comparison 🔊
- Speed & Latency Comparison 🚀
- Sustainability Comparison 🏔
- Amberdata vs Blockchain Data Providers ⛓
- Amberdata vs Market Data Providers 📊
Overview — Integrating Blockchain
Adding blockchain to your product or service is all the rage. You want to enable transparency & trust for your users or update your system for easier compatibility with intermediaries. There are several ways you can do this: Run your own network of blockchain nodes, connect your service to an existing blockchain, or setup a side-chain to mimic an intermediary.
In each case, you find that you need to access the blockchain data directly. There are several protocols that make this happen: Restful API, GraphQL, JSON RPC/gRPC. These connections allow your product to ask or receive all blockchain data, but it is simplified to the exact data model the blockchain uses. You need to figure out more from the blockchain data, you need to aggregate! This quickly becomes a search for the best tools to do the aggregation for your product.
In addition to blockchain data, you need economical context, you need market data to supplement the transactions. Market data is available, but you find that its fairly raw — the data is at the exchange level, there are too many pairs, the orders seem disjointed from on-chain activity… You begin looking for a provider to give you market data context without having to build the aggregations for your product.
Integrations are not difficult — the right provider for your product is difficult. Let’s go through some example use cases to better inform your decision matrix.
Use Case 1 — Cryptocurrency Wallets
To participate in the blockchain world, you need a cryptocurrency wallet. This wallet needs to have data about your account balance, token holdings, portfolio & market value. Wallets are applications that create a private key(like a password), and a public key(username), and communicate to the blockchain & exchanges directly. A few wallets like Exodus, Alpha, Trust Wallet, MyEtherWallet, are good examples. Sometimes there are services (Coinbase) that enable custodial wallets for customers that are not tech-savvy enough to manage their wallet private keys. In every case, wallets need a few data types:
- Blockchain Address Balances — Bitcoin, Ether, Doge, Tokens, Etc
- Blockchain Activity & History — Transactions, Token Transfers
- Market Point-In-Time Prices — Bitcoin, Ether, Tokens, Etc
- Market Trading Activity of X — Bitcoin, Ether, Tokens, Etc
With those items in mind, let’s look at a comparison of services to accomplish all the functionality:
Generally speaking, your product would need to maintain more than 1 connection to a 3rd party provider, unless you use amberdata.io.
Use Case 2 — Investors & Traders
Cryptocurrency trading and algorithmic arbitrage is at an all time high. For those interested in statistical or anomalous patterns, cryptocurrency trading is a perfect testing bed. There are high risks, low liquidity (compared to traditional markets), and disjointed information. This doesn’t mean there isn’t opportunity for rewards. Currently, making informed decisions on crypto-market data requires a few sources:
- Market Pair Activity — Trading Volume, Velocity, Sharpe, VWAP/TWAP
- Market Exchange — Pair Values, Liquidity, Trades
- Market Order Books — Historical Trades, Realtime Updates
- Blockchain Transactions — Token Transfers, Cryptocurrency Transactions
- Blockchain Account — Balances, Historical Holding, Tokens
- Blockchain DEX — (Decentralized exchange) Historical Holders, Transfers, Volume
The comparison below shows providers enabling these features:
Trading platforms like KuCoin, trade.io, Binance, build integrations directly to many exchanges or connect to several 3rd party providers. As you can see amberdata is a clear choice for building integrations with blockchain & market data into your product without many connection points. For those building algorithmic trading, backtesting is a huge piece — stay tuned for a future blog featuring an easy tool for checking Amberdata historical order books.
Use Case 3 — dApps & developers
Definition of a dApp: A decentralized application, that runs within a blockchain and can autonomously execute code upon interaction written by developers. Interacting with a dApp occurs either on-chain or between a service and the chain. In the context of Ethereum, a dApp is mainly a Smart Contract deployed as bytecode, stored in the blockchain. The main data needed to run a successful dApp includes a few main pieces:
- Contract ABI — Parseable format for client interactions
- Contract Info — Token Data, Supply, Specifications,
- Contract Runtime — Events, Logs, Transactions, Internal Transactions
In addition, majority of these dApps have a “Token” functionality, which provides an economic model to govern usage of a contract. It is possible to view usage & activity with the following data:
- Token Economics — Supply, Volume, Velocity, Ranking
- Token Usage — Holders, Holdings, Adoption, Retention
- Token Portfolio — User balances, Related Holdings
Does a dApp really need all of this functionality if it is running in a decentralized ecosystem? We would suggest that continual usage by the community requires support with ongoing data and metrics, backed by a 3rd party to ensure the economics continually stay stable, the contract owner doesn’t shift a token supply, the contract doesn’t become unavailable and more. Using amberdata provides a leg up on the competition, especially for ongoing activity for a dApp.
Your application needs realtime data, everyone expects this as a baseline. Let’s look a few core needs as well as helpful performant methods. The core uses of websockets are very specific, we’re going to showcase them combined since we believe they should be used together:
- Market Events — Order books, Trades, BBOs
- Blockchain Core Events — Blocks, Transactions, Internal Transactions
- Blockchain dApp Events — Token Transfers, Contract Logs/Events, Transactions, Pending Transactions
You product is special, unique, give it a boost by using fine tuned websockets!
Speed & Latency Comparison
Let’s take a look at a few endpoints and compare them. There is no better way to show strengths & weaknesses than a latency test! For the following endpoints I used artillery.io, which analyzes latency and repeatedly hits the endpoints for a sum average. Here are the results using some of the top used endpoints:
1. Get Account Balance
2. Get Address Transactions
3. Get Transaction
4. Get Block
5. Get Block Transactions
6. Get Contract Source Code
A few things to note: I did not compare the write abilities of these providers, only read endpoints. These results used a minimum of 10 requests, ~1per/second. At time of writing, each endpoint test used as many competitors as were available or had documentation.
We believe in the continuation of Ethereum. This requires a sustainable ecosystem not based on simple generosity, but realistic business models. Your product requires sound knowledge that access to an integrated blockchain will not get disconnected, interrupted or deprecated. If a service is only free, there is no binding contract, no SLA.
We’ve looked at individual use case comparisons, now for the bigger picture. As your product grows, you need assurance that you can support more features and requests to be successful.
Amberdata vs Blockchain Data Providers
Amberdata vs Market Data Providers
Excellent, I’m sold — Get me started!
Quick and easy sign up process, follow these steps:
- Sign up on amberdata.io
- Create a Free API Key
- Start using the APIs, with comprehensive documentation
- Send us feedback, we’d love to help you be successful!
I would use amberdata but…
What can we do better? Send us a message and we will help create a solution that works well for your product! Contact us at firstname.lastname@example.org
Interested in seeing other comparisons?
Email us at email@example.com and we can send you a comprehensive report! If you think there is mis-represented data at all, please let me know! I’ve done the best I can to ensure accuracy in comparisons.