In-Game Item Marketplace in Mobile GameFi Game

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
In-Game Item Marketplace in Mobile GameFi Game
Complex
from 1 week to 3 months
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

In-Game Item Marketplace Implementation in GameFi Mobile App

NFT marketplace inside mobile game — one of hardest GameFi tasks. Here two worlds collide: familiar mobile UX (fast, intuitive, no seed phrases) and blockchain reality (gas fees, confirmation times, ownership via wallet). Solve this contradiction — marketplace unused. Don't — huge adoption.

Architecture: On-Chain vs Off-Chain Listing

Fully on-chain marketplace (like OpenSea v1) — each listing is transaction. On mobile pointless: user won't pay $0.50–5 gas per item listing.

Right architecture for GameFi mobile — off-chain listings with on-chain settlements:

  1. Seller signs listing off-chain (signTypedData / EIP-712) — no transaction, no gas
  2. Listing stored in app database
  3. Buyer clicks "Buy" — only then on-chain transaction happens
  4. Smart contract verifies seller signature, transfers NFT to buyer and payment to seller atomically
// Minimal EIP-712 listing structure
struct Listing {
    address seller;
    address nftContract;
    uint256 tokenId;
    address paymentToken; // USDC, GOLD or native token
    uint256 price;
    uint256 expiry;       // listing validity
    uint256 nonce;        // replay attack protection
}

bytes32 public constant LISTING_TYPEHASH = keccak256(
    "Listing(address seller,address nftContract,uint256 tokenId,address paymentToken,uint256 price,uint256 expiry,uint256 nonce)"
);

function buyItem(Listing calldata listing, bytes calldata signature) external {
    require(block.timestamp < listing.expiry, "Listing expired");
    require(!usedNonces[listing.seller][listing.nonce], "Nonce used");
    bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(LISTING_TYPEHASH, listing)));
    require(ECDSA.recover(digest, signature) == listing.seller, "Invalid signature");
    usedNonces[listing.seller][listing.nonce] = true;
    IERC20(listing.paymentToken).transferFrom(msg.sender, listing.seller, listing.price);
    IERC721(listing.nftContract).safeTransferFrom(listing.seller, msg.sender, listing.tokenId);
}

This approach used by Seaport (OpenSea v2) and Blur — proven scheme.

Mobile UX: Item Display

Each NFT — tokenId + metadata with tokenURI on IPFS or centralized CDN. Loading metadata directly from IPFS on mobile — slow and unreliable. Solution: backend indexes metadata into database and serves via REST API. Mobile client never touches IPFS directly.

Item images — via CDN (CloudFront / Cloudflare), client-side caching via Kingfisher (iOS) or Coil (Android). Lazy loading in list — LazyColumn with AsyncImage in Compose, LazyVGrid in SwiftUI.

// SwiftUI: marketplace item grid
struct MarketplaceGridView: View {
    @StateObject var viewModel: MarketplaceViewModel

    let columns = [GridItem(.adaptive(minimum: 160), spacing: 12)]

    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 12) {
                ForEach(viewModel.items) { item in
                    NFTItemCard(item: item)
                        .onAppear {
                            if item == viewModel.items.last {
                                viewModel.loadNextPage()
                            }
                        }
                }
            }
            .padding()
        }
    }
}

Filtering and Search

Filters: rarity (Rare/Epic/Legendary), item type (weapon/armor/pet), price range, payment asset. Sort: by price, listing date, rarity. Full-text search by item name — via PostgreSQL tsvector or Elasticsearch on backend.

NFT attributes indexed into relational table on mint — not parsed from IPFS JSON on each request.

Purchase Flow on Mobile

Main problem — how user signs purchase transaction without seed phrase in app.

Option 1: Account Abstraction. User's smart account signs UserOperation via biometrics (Face ID / Touch ID). Paymaster sponsors gas — user pays only in game token. Best UX, harder implementation.

Option 2: WalletConnect. Deep Link to MetaMask or Phantom, user confirms transaction in external wallet and returns to game. Familiar for crypto users, unfamiliar for gaming audience.

Option 3: Custodial wallet. App manages keys (via Fireblocks MPC or Privy). Transactions signed server-side or via Shamir's Secret Sharing. Simplest UX, strict security requirements.

For GameFi with million-user audience — Account Abstraction via Privy or Dynamic with embedded wallet. User logs via Google/Apple — gets smart account automatically.

Developer Royalties

On each P2P sale on secondary market — automatic developer royalty (2–5%) to studio wallet. ERC-2981 (NFT Royalty Standard) defines royaltyInfo(tokenId, salePrice) — marketplace smart contract calls before settlement and withholds commission.

Moderation and Item Blocking

Complaint system for suspicious listings (cheated items, duplicates). Admin endpoint POST /listings/{id}/delist — removes from database. On-chain unchanged (no transaction), item just hidden.

Stolen token blocking (account compromise) — blacklist at smart contract: blockedTokens[tokenId] = true with check in buyItem.

Timeline and Stages

Stage Duration
Marketplace smart contract + audit 2 weeks
Backend: indexing, listings, search 2 weeks
Mobile client: grid, card, purchase 2–3 weeks
Wallet (WalletConnect or Account Abstraction) 1 week
Filters, sorting, transaction history 1 week

Total: 8–10 weeks. Cost calculated individually after requirements analysis.