The dynamic Web3 improvement house is residence to quite a few Web3 API suppliers, which deliver their distinctive strengths and weaknesses to the desk. With this abundance of API choices, you would possibly discover it difficult to find out which APIs finest fit your improvement wants. And whereas it’d look like most suppliers supply related merchandise, evaluating completely different Web3 APIs can typically be like evaluating apples to oranges.
So, out of all Web3 API suppliers, which is the best choice? To seek out out, observe alongside on this information as we conduct a comparative evaluation of the Web3 trade’s main API suppliers: Moralis, Alchemy, and QuickNode. As we transfer ahead, we’ll rigorously analyze these three suppliers from an accessibility, efficiency, and value perspective.
All through this information, you’ll shortly uncover that Moralis offers the trade’s most complete Web3 APIs. Consequently, Moralis facilitates the trade’s most accessible and simple developer expertise. So, for those who instantly wish to begin utilizing Moralis’ top-tier Web3 APIs, click on the button under!
To be taught extra about why Moralis outperforms the competitors, be a part of us under as we dive straight into our comparability of Web3 API suppliers!
Evaluating Web3 APIs: Moralis vs. Alchemy vs. QuickNode
To focus on the similarities and, extra importantly, variations between Moralis, Alchemy, and QuickNode, we used every supplier’s respective Web3 APIs to question the mandatory information for constructing a portfolio view of Vitalik Buterin’s ERC-20 tokens. On this case, a portfolio view contains the title, brand, stability, and worth of all belongings within the pockets.
We opted for Vitalik’s pockets on account of its dimension and the in depth quantity of tokens it holds. This makes it the right candidate for testing the provision of spam classifications and metadata for big token units. This strategy additionally allowed us to systematically assess and evaluate the accessibility, effectivity, and cost-effectiveness of Moralis, Alchemy, and QuickNode when fetching the identical on-chain assets.
You’ll discover the outcomes of our exams summarized within the two charts under:
By analyzing the charts above, you’ll discover that constructing a portfolio view of Vitalik’s ERC-20 tokens with Moralis calls for considerably fewer API calls and is extra cost-efficient than using each Alchemy and QuickNode.
With solely 18 calls at a complete price of $0.000882, we had been in a position to fetch the stability, metadata, and worth of Vitalik’s ERC-20 tokens. As compared, the identical job required 4963 calls at a complete worth of $0.0049189 with Alchemy. And 4760 calls at a complete price of $0.0163091 with QuickNode.
Right here’s the info damaged down right into a desk:
Why Does Moralis Outperform the Competitors?
All Web3 APIs from Moralis are outcome-oriented and designed to reduce the variety of calls you want to question blockchain information. We enrich all our API responses with transaction decodings, metadata, deal with labels, market information, and far more from a number of sources.
To exemplify, when utilizing Moralis’ Token API and the token stability endpoint, you get the ERC-20 balances of a pockets – together with metadata and costs for every token – in a single response. This implies you solely need to name one endpoint and use one supplier, simplifying your improvement endeavors considerably.
As compared, when utilizing suppliers like Alchemy and QuickNode, you should first fetch the token balances from the pockets. From there, you want to make particular person calls to question the metadata for every token individually. Furthermore, Alchemy and QuickNode’s API responses don’t embody token costs, which means you should additionally contain a third-party supplier like CoinGecko or CoinMarketCap to get this information.
This is the reason we solely wanted 18 calls to construct a portfolio view of Vitalik’s ERC-20s when working with Moralis. In the meantime, the identical job demanded hundreds of calls and a number of suppliers when utilizing Alchemy or QuickNode.
To interrupt this down and make clear it additional, let’s look at intimately the endpoints and responses from every supplier we utilized to render the portfolio view of Vitalik’s ERC-20 tokens.
Moralis – Endpoint Overview
With Moralis’ complete APIs, we solely want the Token Steadiness endpoint to fetch the token balances – together with metadata and costs – of any deal with:
GET https://deep-index.moralis.io/api/v2.2/wallets/0xd8da6bf26964af9d7eed9e03e53415d37aa96045/tokens?chain=eth
Right here’s an instance of what the response would appear like:
{
“cursor”: null,
“web page”: 0,
“page_size”: 100,
“end result”: [
{
“token_address”: “0xdac17f958d2ee523a2206206994597c13d831ec7”,
“symbol”: “USDT”,
“name”: “Tether USD”,
“logo”: “https://cdn.moralis.io/eth/0xdac17f958d2ee523a2206206994597c13d831ec7.png”,
“thumbnail”: “https://cdn.moralis.io/eth/0xdac17f958d2ee523a2206206994597c13d831ec7_thumb.png”,
“decimals”: 6,
“balance”: “517438540”,
“possible_spam”: false,
“verified_contract”: true,
“balance_formatted”: “517.43854”,
“usd_price”: 1.0006571224951815,
“usd_price_24hr_percent_change”: 0.08795941027880547,
“usd_price_24hr_usd_change”: 0.45543496836985303,
“usd_value”: 517.7785605045078,
“native_token”: false,
“portfolio_percentage”: 0
},
//…
]
}
This response is enriched with an abundance of helpful information, together with the image, title, brand, worth, stability, worth adjustments over time, and extra of every token. As such, when working with Moralis, you solely want a single endpoint to fetch all of the required information for constructing a full ERC-20 portfolio view!
Alchemy – Endpoints Overview
When utilizing Alchemy, we initially have to name their getTokenBalances() endpoint, which is used to fetch a pockets’s token balances:
alchemy.core.getTokenBalances(“0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045”)
In return, you’ll get a easy response containing an array of token balances, that includes solely the contract deal with and token stability in hexadecimal:
“jsonrpc”: “2.0”,
“id”: 1,
“end result”: {
“deal with”: “0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5”,
“tokenBalances”: [
{
“contractAddress”: “0x0183736842388dcc6d41674082937684056a3904”,
“tokenBalance”: “0x00000000000000000000000000000000000000001581113dffdc72c05ad16068”
},
//…
]
}
}
What’s extra, aside from offering a fairly restricted response, Alchemy moreover contains some tokens with a stability equal to zero:
{
“contractAddress”: “0x007f252591528d326b2a73b366e5c6a0aa5128cc”,
“tokenBalance”: “0x0000000000000000000000000000000000000000000000000000000000000000”
}
Together with tokens with a zero stability is sort of pointless, and it additional slows down the time it takes to fetch all the tokens utilizing Alchemy’s API.
As soon as we now have the stability, we now additionally have to name Alchemy’s getTokenMetadata() endpoint individually for every particular person token. It will lead to hundreds and hundreds of extra calls. Right here’s an instance of what the endpoint appears like:
const contract = “0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48”;
alchemy.core.getTokenMetadata(contract).then(console.log);
In return, you’ll get a response containing a single token’s decimals, brand, title, and image:
{
“jsonrpc”: “2.0”,
“id”: 1,
“end result”: {
“decimals”: 6,
“brand”: “https://static.alchemyapi.io/pictures/belongings/3408.png”,
“title”: “USDC”,
“image”: “USDC”
}
}
Lastly, you want to leverage a third-party supplier, reminiscent of CoinGecko or CoinMarketCap, to get the worth of every token. That is one other bothersome step, leading to extra calls and a extra complicated workflow for you and your improvement crew!
QuickNode – Endpoints Overview
When utilizing QuickNode, we even have to start out by calling their getWalletTokenBalance endpoint to fetch the ERC-20 token balances of the pockets:
curl https://docs-demo.quiknode.professional/
-X POST
-H “Content material-Kind: software/json”
–data ‘{
“id”:67,
“jsonrpc”:”2.0″,
“methodology”:”qn_getWalletTokenBalance”,
“params”: [{
“wallet”: “0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045”
}]
}’
This returns an array of tokens that appears like this:
{
“jsonrpc”: “2.0”,
“id”: 67,
“end result”: {
“end result”: [
{
“name”: “Namefi Service Credit”,
“symbol”: “NFSC”,
“decimals”: “18”,
“address”: “0x0000000000c39a0f674c12a5e63eb8031b550b6f”,
“quantityIn”: “100000000000000000000”,
“quantityOut”: “20000000000000000000”,
“totalBalance”: “80000000000000000000”
},
//…
]
}
}
QuickNode’s response incorporates extra data than Alchemy’s, nevertheless it’s inadequate for constructing a complete portfolio view. As such, we then have to name their getTokenMetadataByContractAddress endpoint for every particular person token to get extra data, which leads to hundreds of additional calls:
curl https://docs-demo.quiknode.professional/
-X POST
-H “Content material-Kind: software/json”
–data ‘{
“id”:67,
“jsonrpc”:”2.0″,
“methodology”:”qn_getTokenMetadataByContractAddress”,
“params”: [{
“contract”: “0x4d224452801ACEd8B2F0aebE155379bb5D594381”
}]
}’
That is what the response appears like:
{
“jsonrpc”: “2.0”,
“id”: 67,
“end result”: {
“title”: “Tether USD”,
“image”: “USDT”,
“contractAddress”: “0xdac17f958d2ee523a2206206994597c13d831ec7”,
“decimals”: “6”,
“genesisBlock”: null,
“genesisTransaction”: null
}
}
What’s extra, you’ll discover that QuickNode’s metadata response doesn’t even embody the token brand. That is one other necessary part for constructing an ERC-20 token portfolio view.
Lastly, very like when utilizing Alchemy, you additionally have to leverage a third-party supplier like CoinGecko or CoinMarketCap to get token costs when working with QuickNode. As such, that is one other integration that complicates issues for you and your improvement crew.
Abstract: Full Comparability – Moralis vs. Alchemy vs. QuickNode
With Moralis’ outcome-oriented and use-case-specific Web3 APIs, we’re in a position to present a considerably extra accessible and simple developer expertise in comparison with Alchemy and QuickNode!
Due to Moralis’ absolutely enriched API responses, you solely want a single endpoint and 18 API calls to get the token balances, metadata, costs, and far more from Vitalik’s pockets. This considerably improves the efficiency and cost-effectiveness of Moralis’ Web3 APIs. You require fewer calls to question the info you want.
As compared, with Alchemy and QuickNode, the identical job requires hundreds of calls and third-party involvement. Suppliers like CoinGecko or CoinMarketCap are needed, turning this straightforward job right into a bothersome and time-consuming endeavor.
Whereas this comparability makes use of Moralis’ Token API for instance, it’s value noting that every one our APIs, together with the NFT API, Pockets API, and so on., are equally as complete and straightforward to make use of. As such, it doesn’t matter for those who’re constructing a portfolio view of ERC-20 tokens, an NFT-based platform, a crypto worth tracker, or every other Web3 mission; Moralis repeatedly outshines the competitors.
So, if you wish to begin constructing Web3 initiatives quicker and extra effectively, be sure to enroll with Moralis!