SpaceSeven NFT Marketplace
Multi-Chain NFT Marketplace with Go Backend
Multi-chain NFT marketplace supporting Concordium and Ethereum blockchains with full auction system, multi-wallet support, and real-time notifications. Go Fiber backend with 37 database entities, Protocol Buffer integration for Concordium smart contracts, STOMP WebSocket auctions, and white-label Universe system for custom marketplace instances.
Key Features
- Multi-chain abstraction layer — unified API for Concordium (Protocol Buffers) and Ethereum (Web3.js)
- Go Fiber backend with 37 GORM entities and clean layered architecture
- Real-time auction system with STOMP WebSocket bidding and notifications
- Wallet abstraction: ConcordiumWallet and MetaMaskWallet implement common interface
- Universe white-label system for custom marketplace instances
- Monorepo frontend with 3 Next.js apps sharing marketplace Redux modules via NPM package
Tech Stack
Backend
Frontend
Blockchain
Infra
Challenges & Solutions
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.
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.