SpaceSeven NFT Marketplace
Multi-Chain NFT Marketplace with Go Backend
Full-stack multi-chain NFT marketplace with Go Fiber backend (37 entities, Protocol Buffers) and Next.js 11 + React 17 monorepo frontend (3 apps sharing common libraries). Wallet abstraction layer unifies Concordium native wallet and Ethereum MetaMask/WalletConnect behind a common interface. Universe system enables white-label marketplace instances.
Key Features
- Go Fiber backend with 37 entities + Next.js 11 monorepo with 3 frontend apps
- Multi-chain wallet abstraction: connect(), signTransaction(), getBalance() unified interface
- shared-marketplace-layer NPM package — reusable Redux modules and API clients
- STOMP WebSocket auctions with real-time bidding and notification system
- Universe white-label system for branded marketplace instances
- IPFS metadata storage via Pinata for decentralized NFT assets
Tech Stack
Backend
Frontend
Blockchain
Infra
Challenges & Solutions
White-Label Marketplace System
Multiple brands wanted their own NFT marketplace with custom branding, collections, and fee structures — but sharing the same backend infrastructure and smart contracts.
Universe system: each white-label instance has its own configuration (branding, fees, collections) stored as a GORM entity. Frontend monorepo with 3 apps sharing common Redux modules via NPM package (shared-marketplace-layer) — marketplace logic is identical, presentation layer differs per Universe.
Multi-Chain Transaction Abstraction
Concordium uses Protocol Buffers with contract indexes while Ethereum uses ABI encoding — completely different transaction models, signing mechanisms, and wallet APIs needed to work seamlessly from a single frontend.
Built WalletAdapter interface (connect, signTransaction, getBalance) with ConcordiumWallet and MetaMaskWallet implementations. Frontend code doesn't change when adding new chains. Backend tracks smart contract versions for on-chain upgrades without requiring frontend deploys.
Real-Time Auction Integrity
Timed auctions with concurrent bidders needed instant updates, bid validation, and race condition prevention — a late bid arriving after auction close could cause financial disputes.
STOMP WebSocket for bidirectional real-time communication. Server-side bid validation with atomic PostgreSQL operations ensures no bid is accepted after deadline. All connected clients receive instant bid updates and auction state changes.