Discrepancy of NFT API between EVM vs. SOL

Hello folks,

I would like to ask why the schema of NFT API between EVM and SOL are not consistent within Moralis.

For example,

If I want to fetch NFT metadata for one NFT on ETH, I could easily call just one endpoint

/{wallet_address}/nft

However, if I want to fetch the same for Solana, I need to call 2 endpoints.

/account/mainnet/{wallet_address}/nft (to get mint address)
/nft/mainnet/{token_address}/metadata

Its understandable that they have different schemas at the end,
but having to call 2 endpoints for Solana to get the same results actually puts humongous pressure on our Moralis usage.

Let’s say I want to fetch NFT metadata for an wallet that holds 150 eth NFT’s and 150 sol NFT’s,

I can fetch eth one with just one request,

but for Solana, I need to call total of 151 Moralis endpoints.

Was there any reason why
why calling /account/mainnet/{wallet_address}/nft endpoint cannot take care of “/nft/mainnet/{token_address}/metadata” call as well? Why were those separated in 2 different calls?

In my humble opinion, the first call result is useless as it just just returns associatedTokenAddress and mintAddress.

Any feedback would be greatly appreciated, thanks!

That’s a great point. I’ll take it into consideration for our roadmap in the API team :slight_smile:

Thanks a lot for the input, it’s greatly appreciated.

2 Likes

Thank you very much for the feedback.

It would be greatly appreciated if this can be addressed asap, so my team can keep using Moralis :slight_smile: