Web3 APIs provide simple API-based solutions, for harnessing blockchain technology, performing simple to complex operations, and building dApps.

Web3 APIs are an essential part of the Web3 Development stack, especially because web3 technology is still nascent, and requires extensive knowledge of its building blocks such as Smart Contracts, dApps, Web3 Libraries, wallets, etc. Even the simplest operations require much blockchain knowledge, let alone building applications on web3 technology. This is where Web3 APIs help us. Web3 APIs provide simple API-based solutions, for harnessing blockchain technology, performing simple to complex operations, and building dApps.
In today’s world, there are a lot of API providers available to choose from and with the range of features they provide, it can be pretty challenging to decide which provider to go with. Don’t worry, we have got you covered. We have chosen a few leading Web3 API providers namely, Moralis, Shyft, Unmarshal, Helius, and Tatum, and compared their NFT APIs based on their speed, caching policy, and the data they provide in response. Out of all mentioned above, SHYFT APIs seem to stand out from the rest.
Here’s the TL;DR for you, live in action.
https://compare-nft-reads.vercel.app/
Comparing NFT Reads: SHYFT vs Moralis
Both Shyft and Moralis provide a wide range of NFT APIs for various operations on a blockchain. But the features provided by them are different in certain aspects. We tested out NFT Metadata APIs(reads), on devnet, testnet and mainnet(whichever was available), and here are the results. Let’s see how each of their NFT read APIs perform:
API Performance, Caching Policy & CDN Images
Both Moralis and SHYFT provide NFT read APIs for Solana Blockchain, also Moralis also supports several other blockchains as well. But when it comes to NFT metadata reads on Solana, SHYFT is the clear winner. SHYFT provides NFT metadata APIs for the Solana blockchain, and its API performance, when compared to Moralis was significantly faster. While the average response time while performing NFT metadata reads on mainnet using Moralis APIs was about 400–450ms(only on-chain data), whereas using SHYFT APIs, the NFT reads had an average response time of about 50–80 ms (on-chain, off-chain data and CDN image).
Wondering how SHYFT provides almost 50x faster response times than other Web3 API providers? Well, Blockchains have high access times and if we attempt to fetch data from the blockchain every time, it will increase the API response time and the applications built on that API will slow down ruining the user experience. To get around this, SHYFT uses an efficient caching policy, which stores the on-chain and off-chain data received from the Blockchain in a database, which eliminates the need for getting data from the blockchain every time, making them almost 50x faster.
Another feature that would make SHYFT APIs notable, is their efficient use of CDNs. CDNs or Content Delivery Networks isa network of servers that distributes content from an “origin” server throughout the world by caching content close to where each end user is accessing the internet via a web-enabled device. SHYFT uses CDNs to cache, and deliver the NFT images read using their APIs, so that end users can load the images from their nearest server. This greatly reduces the image loading times. Moralis provides no such known features.
Response
For NFT metadata response, SHYFT is the clear winner. SHYFT provides both on-chain data, off-chain data, CDN Images, and Collections, all in one API call, whereas on Moralis, only on-chain data is provided, and then we would have to make subsequent API calls to get the off-chain data and then get the image URI from it.
Moreover, SHYFT’s read and readAll APIs return the owner details of the NFT being read, which no other provider’s seem to return.
Sample NFT Read Response from Moralis APIs, only on-chain data is provided.
{
"mint": "QqvznVb4dabdUDRX3UkumLSTmBi1Y4rQ9s36G5aRYw9",
"standard": "metaplex",
"name": "Okay Bear #8",
"symbol": "okay_bears",
"metaplex": {
"metadataUri": "https://bafybeigtouebpxhlaps7f3mlvo7lwortfc7umg7dp2q6uut3muiwarslee.ipfs.nftstorage.link/7.json",
"updateAuthority": "4zj22pu8yRyenFHwLmue28CqVmGFgVQt5FmVvwdP5fLa",
"sellerFeeBasisPoints": 750,
"primarySaleHappened": 1,
"owners": [
{
"address": "3xVDoLaecZwXXtN59o6T3Gfxwjcgf8Hc9RfoqBn995P9",
"verified": 1,
"share": 0
},
{
"address": "7zL7HVn85F5yFT6XM3BsJcQF7PBcNE7R2BT5GyfunpKe",
"verified": 0,
"share": 100
}
],
"isMutable": true,
"masterEdition": false
}
}
This API response has a field named metadataUri which contains a link to the off-chain data and in order to access that we would have to make another API call. This subsequent API call, makes the average API response time around 700–760ms. From this metadataUri we will have to make another call to render the NFT image.
Sample NFT Read Response from SHYFT APIs, provides off-chain and on-chain data along with CDN image URI in a single API call.
{
"success": true,
"message": "NFT metadata",
"result": {
"name": "Okay Bear #8",
"symbol": "okay_bears",
"royalty": 7.5,
"image_uri": "https://bafybeiebykx3fq5w4o6ll46dkirzlveskychoykadml7owohmgpjuj3xjq.ipfs.nftstorage.link/7.png?ext=png",
"cached_image_uri": "https://cdn.shyft.to/img/https%253A%252F%252Fbafybeiebykx3fq5w4o6ll46dkirzlveskychoykadml7owohmgpjuj3xjq.ipfs.nftstorage.link%252F7.png%253Fext%253Dpng",
"metadata_uri": "https://bafybeigtouebpxhlaps7f3mlvo7lwortfc7umg7dp2q6uut3muiwarslee.ipfs.nftstorage.link/7.json",
"description": "Okay Bears is a culture shift. A clean collection of 10,000 diverse bears building a virtuous community that will transcend the internet into the real world.",
"mint": "QqvznVb4dabdUDRX3UkumLSTmBi1Y4rQ9s36G5aRYw9",
"owner": "GHkPjJmLYER3xETvxTVudWS4zHfuFRWWhD6BbZiBkaH",
"creators": [
{
"address": "3xVDoLaecZwXXtN59o6T3Gfxwjcgf8Hc9RfoqBn995P9",
"share": 0,
"verified": 1
},
{
"address": "7zL7HVn85F5yFT6XM3BsJcQF7PBcNE7R2BT5GyfunpKe",
"share": 100,
"verified": 0
}
],
"collection": {},
"attributes": {
"Background": "Cream",
"Fur": "Dark Brown",
"Mouth": "Okay",
"Eyes": "Happy",
"Clothes": "Insulated Jacket"
},
"attributes_array": [
{
"trait_type": "Background",
"value": "Cream"
},
{
"trait_type": "Fur",
"value": "Dark Brown"
},
{
"trait_type": "Mouth",
"value": "Okay"
},
{
"trait_type": "Eyes",
"value": "Happy"
},
{
"trait_type": "Clothes",
"value": "Insulated Jacket"
}
],
"files": [
{
"uri": "https://bafybeiebykx3fq5w4o6ll46dkirzlveskychoykadml7owohmgpjuj3xjq.ipfs.nftstorage.link/7.png?ext=png",
"type": "image/png"
}
],
"update_authority": "4zj22pu8yRyenFHwLmue28CqVmGFgVQt5FmVvwdP5fLa",
"external_url": "https://www.okaybears.com/"
}
}
Moralis only supports devnet and mainnet, whereas SHYFT supports devnet, testnet and mainnet, so that you can test out your dApps flawlessly without having to worry about the network instance being used.
Press enter or click to view image in full size

SHYFT vs Moralis NFT Reads
Comparing NFT Reads: SHYFT vs Helius
Unlike other Web3 API providers like Moralis or Unmarshal, Helius is pretty new to the Web3 world and provides a set of Web3 APIs for Solana Blockchain. Let’s see how their NFT metadata APIs perform when compared to SHYFT.
Chain Support, Caching Policy and CDNs
When it comes to chain support, no one seems to have the upper hand as both SHYFT and Helius are for Solana Blockchain. But when it comes to NFT metadata reads on Solana, SHYFT again has the upper hand. The average response times of Helius NFT metadata APIs were between 500–700ms whereas, for SHYFT APIs, the average response time (after the first call) was between 50–70ms, which is almost 50x faster.
This is because of SHYFT’s efficient caching policy. SHYFT uses a database caching policy, which stores the on-chain and off-chain data received from the Blockchain in a database, which eliminates the need for getting data from the blockchain every time, making SHYFT APIs almost 50x faster, ensuring lightning-fast NFT reads and a smooth UX for the users who are building dApps using SHYFT APIs. Helius does not have any such caching policies. Another aspect in which SHYFT has the advantage over Helius is SHYFT uses CDNs to cache and deliver the NFT images, reducing NFT image loading time by a lot. Helius on the other hand have no such policies and simply fetches data from the blockchain and deliver it.
Response
Get Team Shyft’s stories in your inbox
Join Medium for free to get updates from this writer.
The NFT metadata response for both the APIs was similar as both of them provided both on-chain and off-chain data in a single API call. One difference between Helius and SHYFT may be Helius supports API calls only on mainnet, whereas SHYFT supports API calls on devnet, testnet and mainnet. An added benefit to Helius would be that they provide collection details as well, which Shyft is also releasing in the next few days.
SHYFT’s read and readAll APIs return the owner details of the NFT being read, which is not present in Helius APIs response.
Here is the sample response from Helius.
[
{
"mint": "QqvznVb4dabdUDRX3UkumLSTmBi1Y4rQ9s36G5aRYw9",
"onChainData": {
"collection": {
"key": "3saAedkM9o5g1u5DCqsuMZuC4GRqPB4TuMkvSsSVvGQ3",
"verified": true
},
"collectionDetails": null,
"data": {
"creators": [
{
"address": "3xVDoLaecZwXXtN59o6T3Gfxwjcgf8Hc9RfoqBn995P9",
"share": 0,
"verified": true
},
{
"address": "7zL7HVn85F5yFT6XM3BsJcQF7PBcNE7R2BT5GyfunpKe",
"share": 100,
"verified": false
}
],
"name": "Okay Bear #8",
"sellerFeeBasisPoints": 750,
"symbol": "okay_bears",
"uri": "https://bafybeigtouebpxhlaps7f3mlvo7lwortfc7umg7dp2q6uut3muiwarslee.ipfs.nftstorage.link/7.json"
},
"editionNonce": 255,
"isMutable": true,
"key": "MetadataV1",
"mint": "QqvznVb4dabdUDRX3UkumLSTmBi1Y4rQ9s36G5aRYw9",
"primarySaleHappened": true,
"tokenStandard": null,
"updateAuthority": "4zj22pu8yRyenFHwLmue28CqVmGFgVQt5FmVvwdP5fLa",
"uses": null
},
"offChainData": {
"attributes": [
{
"traitType": "Background",
"value": "Cream"
},
{
"traitType": "Fur",
"value": "Dark Brown"
},
{
"traitType": "Mouth",
"value": "Okay"
},
{
"traitType": "Eyes",
"value": "Happy"
},
{
"traitType": "Clothes",
"value": "Insulated Jacket"
}
],
"description": "Okay Bears is a culture shift. A clean collection of 10,000 diverse bears building a virtuous community that will transcend the internet into the real world.",
"image": "https://bafybeiebykx3fq5w4o6ll46dkirzlveskychoykadml7owohmgpjuj3xjq.ipfs.nftstorage.link/7.png?ext=png",
"name": "Okay Bear #8",
"properties": {
"category": "image",
"creators": [
{
"address": "7zL7HVn85F5yFT6XM3BsJcQF7PBcNE7R2BT5GyfunpKe",
"share": 100
}
],
"files": [
{
"type": "image/png",
"uri": "https://bafybeiebykx3fq5w4o6ll46dkirzlveskychoykadml7owohmgpjuj3xjq.ipfs.nftstorage.link/7.png?ext=png"
}
]
},
"sellerFeeBasisPoints": 750,
"symbol": "okay_bears"
}
}
]
Press enter or click to view image in full size

SHYFT vs Helius on NFT Reads
SHYFT vs Unmarshal
Unmarshal is also one of the leading names when it comes to providing Web3 APIs, let’s see how shyft compares to their API performance.
Chain Support
Like Moralis, Unmarshal also provides support for a range of blockchains such as etherium, bsc, matic, avalanche etc, but again the range of APIs provided by them for operations on individual blockchains is very limited on some chains. For example, reading NFT metadata on the Solana blockchain is not available. SHYFT in turn, only supports the Solana blockchain, it provides almost all possible operations required on the Solana blockchain, along with lightning-fast NFT reads, so its users never run into any problems when building on Solana.
SHYFT vs Tatum
Like Moralis and Unmarshal, Tatum also has been in business for quite a long time when it comes to Web3 APIs. Let’s compare their APIs with SHYFT APIs.
Chain Support, API Variations & Performance
Tatum supports a very large number of blockchains like BNB Smart chain, Celo, Etherium, Flow, Harmony, Solana, etc, but all operations are not available on all the chains, whereas for SHYFT APIs all possible operations across all networks (devnet, testnet, and mainnet) are available for Solana Blockchain. So it is safe to conclude when developing dApps on Solana Blockchain, SHYFT APIs are the ones to go for. SHYFT provides APIs for all possible operations on Solana Blockchain, be it NFTs, Fungible Tokens, Wallets, Semi-Custodial Wallets, Marketplace and many more.
Summary
After this comparison, it is clear that SHYFT APIs perform the best when it comes to NFT metadata reads, yielding at least 50x faster NFT reads than all other similar API providers. It is also very easy to use as it provides on-chain and off-chain data in a single API call whereas Moralis takes two API calls to fetch the entire data and then another call to display the image. Helius however, provides on-chain and off-chain data in a single API call, but when compared to SHYFT, the average response times for Helius APIs are much higher(slower) than SHYFT APIS. Moreover, SHYFT’s read and readAll APIs return the owner details of the NFT being read, which no other providers seem to return along with all other details.

Comparing NFT metadata read times for various API providers
All Web3 APIs have their pros and cons when it comes to using APIs to build applications in real time. If we are building dApps on any blockchain such as Ethereum, we would want APIs that can make all operations possible on that particular blockchain This is where SHYFT stands out from the rest. SHYFT provides a complete set APIs for all possible operations on Solana blockchain, be it NFTs, Fungible Tokens, NFT Marketplace, Semi-custodial wallets, and lots more. If you are building any application on Solana, SHYFT has answers to all your development needs.
Looking to build something awesome on Solana, get started with SHYFT APIs here.
Check out our dev guides here, or for detailed information on our APIs check out our API Reference.
Note: All API calls were done via postman using the same network, timing performance may increase or decrease based on the network being used to call the APIs.
Resources
Hope you have a great time building Dapps with SHYFT APIs. Happy Hacking!! 😇


