Wallet collection ui component
Crossmint’s UI components help you build sophisticated NFT experiences efficiently. These components are designed to work with any NFT collection across EVM chains and Solana. You can use them to:
  • Display NFT collections in a clean, responsive grid layout
  • Show detailed NFT information with metadata and attributes
  • Create custom layouts that match your brand
1

Add the Crossmint Client SDK

Use the following command:
npm i @crossmint/client-sdk-react-ui
2

Display NFT Collections

The CrossmintNFTCollectionView component lets you display NFTs from any wallet or collection:Use the CrossmintNFTCollectionView component to display NFTs from multiple wallets across different chains:
React
"use client";

import { CrossmintNFTCollectionView } from "@crossmint/client-sdk-react-ui";

// Pass an array of wallet addresses you want to display NFTs from
const wallets = [
    {
        chain: "solana",
        publicKey: "<SOLANA_WALLET_ADDRESS_HERE>",
    },
    {
        chain: "ethereum",
        publicKey: "<EVM_WALLET_ADDRESS_HERE>",
    },
];

export default function NFTDisplayPage() {
    return (
        <div className="h-screen">
            <CrossmintNFTCollectionView wallets={wallets} />
        </div>
    );
}
The component will automatically fetch and display all NFTs owned by the provided wallet addresses.
PropDescriptionExample
walletsList of wallets whose NFTs you want to render[{ chain: "solana", publicKey: "<SOLANA_WALLET_ADDRESS>" }]
uiConfig (optional)Customize colors, fonts, and layout{ colors: { background: "#cccccc" } }
environment (optional)Switch between production and stagingproduction (default) or staging
3

Show NFT Details

The CrossmintNFTDetail component creates rich NFT detail views that work with any NFT:
"use client";

import { CrossmintNFTDetail } from "@crossmint/client-sdk-react-ui";

export default function NFTDetailPage() {
    return (
        <div className="h-screen">
            <CrossmintNFTDetail nft="ethereum:0x123...abc:1" />
        </div>
    );
}
PropDescriptionExample
nftNFT identifier as locator string"ethereum:0x123...abc:1"
uiConfig (optional)Customize colors, fonts, and layout{ colors: { background: "#cccccc" } }
environment (optional)Switch between production and staging"production" (default) or "staging"
The nft prop also supports an object format:
// For EVM chains
{ chain: "ethereum", contractAddress: "<CONTRACT_ADDRESS>", tokenId: "<TOKEN_ID>" }

Example of NFT detail component

NFT detail ui component
4

Customize the Look

Make the components match your brand using the uiConfig prop:
"use client";

import { CrossmintNFTDetail } from "@crossmint/client-sdk-react-ui";

export function NFTDetailPage() {
    return (
        <div className="h-screen">
            <CrossmintNFTDetail
                nft="solana:ABC123..."
                uiConfig={{
                    colors: {
                        background: "#000814",
                        backgroundSecondary: "#001D3D",
                        textPrimary: "#FFFFFF",
                        textSecondary: "#EEEEEE",
                        accent: "#FFC300",
                        border: "#FFFFFF",
                    },
                }}
            />
        </div>
    );
}

Example with custom styling

NFT detail ui component
All UI configuration fields are optional and will fall back to Crossmint’s default theme.

Next Steps