Crossmint’s Smart Wallet SDK is headless by design, enabling you to fine tune the customer experience.

The SDK provides several functions to simplify the process of embedding the wallet in your app, including fetching the assets for display, signing messages, and signing transactions.

Fetching NFTs

The SDK includes a client-side utility function to fetch the NFTs. Simply pass the address and chain you’d like to retrieve the NFTs for. There is also a server-side API that can fetch NFTs for a given wallet address.

In the Crossmint console, create an API key with the wallets:nfts.read scope. This scope supports both client-side and server-side API keys. Ensure you pick right type of API key for your implementation and never use a server-side key in the client-side of your application.

import { EVMSmartWallet } from "@crossmint/client-sdk-smart-wallet";

async function getNFTs(wallet: EVMSmartWallet) {
    return await wallet.nfts();
}

Fetching Fungible Tokens

Checking the fungible token balance on testnets may result in empty responses as these are not indexed as thoroughly as mainnets. Consider using the production API for this endpoint in your testing.