Depending on what type of app you are building, NFTs can sometimes form part of your app, or - can even be the main focus of your app entirely. The useEtherspotNfts hook will allow you to fetch NFTs per blockchain and by account address.
Ready-to-fork CodeSandbox available
There is a CodeSandbox available for this hook. Check it out to see the useEtherspotNfts hook in action action, and fork it should you want to test or change anything.
/** * useEtherspotNfts(chainId?: number) */// useEtherspotNfts takes a chain ID as// its only parameter. For example, the following// will fetch your NFTs for your Smart Wallet// address on Polygon:const { getAccountNfts } =useEtherspotNfts(137);// ^// Note the chain IDconstaccountNfts=awaitgetAccountNfts();// By default, this fetches the NFTs of your own// Smart Wallet account./** * getAccountNfts(accountAddress?: string) */// The getAccountNfts function takes an account// address as its only parameter. The function// will fetch the NFTs for the provided address// instead of your Smart Wallet address.constotherAccountNfts=awaitgetAccountNfts('0x0763d68dd586AB1DD8Be2e00c514B2ac8757453b');
How to use
import { useEtherspotNfts} from"@etherspot/transaction-kit";// Later in your component function...const { getAccountNfts } =useEtherspotNfts();// When you're ready to fetch NFTs...constnfts=awaitgetAccountNfts();// `nfts` will look similar to the following...// [// {// "contractName": null,// "contractSymbol": null,// "contractAddress": "0xa07e45a987f19e25176c877d98388878622623fa",// "tokenType": "Erc1155",// "nftVersion": null,// "nftDescription": null,// "balance": 1,// "items": [// {// "tokenId": "123",// "name": "null #123",// "amount": 2,// "image": "Dummy ERC1155",// "ipfsGateway": null// }// ]// }// ]
And that is how you fetch NFT data for any of Etherspot's supported blockchains, and for any address.