A Solana NFT explorer built on Next.js and the Helius DAS API. Connect a wallet (Phantom, Backpack) or paste any address to browse, analyse and dig into the on-chain history of NFTs.
Live: https://nft-gallery-j2bz.vercel.app/
- Explore trending — a live board of the hottest Solana collections (ranked by Magic Eden, with 1H/24H/7D/30D ranges), drilling into a collection's stats and current listings, each listing linking through to full NFT detail.
- Your collection — every NFT owned by a wallet, paginated server-side so large wallets aren't truncated.
- Portfolio analytics — totals, distinct collections, standard vs. compressed breakdown, and a ranked "top collections" bar chart.
- Search, filter, sort & group — find NFTs by name, filter by collection, sort alphabetically, or group the grid by collection. All client-side, so it costs no extra RPC quota.
- NFT detail — full metadata: attributes, royalties, owner, token standard, mutability and compression status.
- Floor & market data — each NFT detail shows its collection floor price, listed count, all-time volume, and whether that specific NFT is currently listed (via the Magic Eden API).
- On-chain provenance — a per-NFT activity timeline (sales, listings, bids, transfers, mints) parsed from the Helius Enhanced Transactions API, each row linking to Solscan.
- Collection explorer — a Collections page rolling your wallet up by collection, plus per-collection pages to browse every item with the collection's own artwork, description and website.
| Route | Helius method | Purpose |
|---|---|---|
GET /api/nfts?address= |
getAssetsByOwner |
NFTs owned by a wallet |
GET /api/nfts/[id] |
getAsset |
Full detail for one NFT |
GET /api/nfts/[id]/activity |
Enhanced Transactions | On-chain activity feed |
GET /api/nfts/[id]/market |
Magic Eden | Floor price + listing status |
GET /api/collections/[address] |
getAssetsByGroup |
Items in a collection |
GET /api/explore |
Magic Eden | Trending collections |
GET /api/explore/[symbol] |
Magic Eden | Collection stats + listings |
Shared request plumbing and error/quota handling live in src/lib/helius.ts
(Helius) and src/lib/magiceden.ts (Magic Eden); DAS-asset → view-model
mapping lives in src/lib/nft.ts.
-
Copy the env template and add a Helius RPC key (free at dashboard.helius.dev):
cp .env.example .env.local # then set HELIUS_API_KEY in .env.local -
Install and run the dev server:
npm install npm run dev
-
Open http://localhost:3000.
HELIUS_API_KEY is server-only (no NEXT_PUBLIC_ prefix) so the key is never
shipped to the browser; all Helius calls go through the API routes above.
Deploy on Vercel; set HELIUS_API_KEY in the project's
environment variables.