Selected engineering baseline

Chapter 05

The actual technology
behind NFTerra.

A Unity mobile game for Android and iPhone renders NFTerra above the native Google map. A server-authoritative .NET world validates location and gameplay, PostGIS understands geography, and an EVM asset rail records currency and successfully minted items.

Unity 6 LTSGoogle Maps · Android & iOS.NET · PostGIS · Polygon

Local minting, trade and preserved item sources.

The local .NET economy connects frozen mint terms, inventory reservations, funded Copper and one saved outcome. It consumes the disclosed inputs and returns the exact charge to the project treasury. Versioned generation preserves the sealed base's level while minter skills influence bounded statistics and names. Generated equipment still awaits blockchain confirmation and cannot equip.

A separate local exchange now moves whole sealed bases and ordinary stacks between two inventories. Items keep their identity and level through return sales. Merchant-skill fees stay fixed before consent; settlement pays the seller and treasury exactly once. The received item remains locked until an explicitly simulated receipt is verified. Encrypted PostgreSQL state, permanent identity guards, audit, outbox and simulated inbox recover together across restarts, duplicate requests and failed writes.

New domain components keep an item's immutable source separate from its current owner and quantity. Combined tests transfer a sealed base, release its simulated receipt and resolve buyer-owned mint inputs while preserving the original level and hidden source. Positive material remainders stay tradeable, and consumed identities cannot return. Recovery checks the original genesis against actual inventory histories. Joining these components with one funded currency ledger and durable shared settlement is the next integration step.

A separate device-key foundation now verifies one-use signed actions for two preregistered test characters. A fresh signature can retrieve the original receipt without repeating the action. Current key activity, expiry and revocation are checked before private access. Encrypted history, permanent identity claims and audit records recover together across concurrent processes and crashes. These test signatures grant no mint, trade or wallet authority; player enrollment and native mobile keys remain separate work.

Exact Copper arithmetic and local contracts enforce three decimals and the one-billion-token ceiling. A local wallet proof generates an address and signs currency transfers; item contracts restrict NFTs to approved internal settlement. These fixtures have no value. Player enrollment, signed economic consent, a shared funded mint-and-trade coordinator, actual custody, public receipt publication, chain reconciliation, marketplace and DAO integration remain ahead.

The Android emulator has booted and reached the local API. Unity gameplay still requires a licensed APK build and physical-device verification; Android/iOS cross-play remains a requirement awaiting implementation. The Yasa-owned Cloud project has billing disabled and no hosted game service. Rewards and content come after the underlying systems.

Read completed work and next steps

Android and iPhone cross-play

Play together in the same NFTerra world.

Android and iOS players are intended to share worlds, the economy, marketplace, guilds, and DAO systems. One Unity client connects to the same authoritative services, with native maps and phone features on each platform. Android is the first build target; cross-play still requires verification on both platforms.

Game engine

Unity 6 LTS + C#

One shared Android and iPhone project, built with IL2CPP. URP 2D renders the mature pixel-art characters, enemies, structures, effects, combat, and interface.

Android bridge

Kotlin + Google services

The native bridge hosts Maps SDK for Android, Fused Location Provider, Play Integrity, permissions, lifecycle events, and secure platform storage.

iPhone bridge

Swift + Apple services

The iOS bridge hosts Maps SDK for iOS, Core Location, App Attest, permissions, lifecycle events, Keychain access, and App Store integration.

Game content

Addressables + CDN

Versioned Unity Addressables deliver original game art and content separately from Google map data, allowing safe content updates without copying map tiles.

Google Maps is the map surface—not a texture imported into Unity.

Each native Maps SDK renders a styled Google map underneath a transparent Unity game layer. A small C# adapter sends camera, bounds, gesture, and marker commands to Kotlin on Android or Swift on iPhone. Google attribution and required controls remain visible.

The buildable system

From a location fix to a persistent world event.

This is the selected first-playable topology. The phone presents and requests; the authoritative game service validates and commits; the blockchain receives only approved asset operations.

Architecture diagram showing Android and iPhone native Google Maps and location beneath a Unity game layer, connected to a .NET game backend, PostGIS, Redis, content delivery, and Polygon smart contracts
NFTerra selected technology stackFirst-playable baseline · production security gates still apply
  1. PhoneUnity 6 LTS renders game content while the native Android or iOS layer supplies Google Maps, location, attestation, and secure storage.
  2. NetworkHTTPS carries authenticated commands; SignalR over WebSockets carries nearby world updates and reconnects after mobile-network loss.
  3. Game cloudASP.NET Core on Google Cloud Run owns gameplay. Cloud SQL PostgreSQL with PostGIS owns durable world and geographic state; Redis coordinates live sessions and short-lived locks.
  4. Asset railA chain adapter submits approved Polygon PoS operations for the ERC-20 currency and ERC-721 minted items, then reconciles confirmed results.

Selected components

The stack, component by component.

These choices are concrete enough to build against while remaining isolated behind adapters where a vendor or network may need to change later.

ConcernSelected technologyJob in NFTerra
Mobile gameUnity 6 LTS, C#, IL2CPP, URP 2DShared Android/iPhone gameplay, mature pixel-art rendering, UI, animation, audio, and content loading.
Real-world mapNative Google Maps SDK for Android and iOSStyled streets, land, water, labels, camera, gestures, attribution, and geographic context beneath Unity.
Device locationAndroid Fused Location Provider; Apple Core LocationFresh location, timestamp, accuracy, speed, heading, permission, and reduced-accuracy state for server evaluation.
App integrityGoogle Play Integrity; Apple App AttestAdd device and genuine-app risk signals to high-value actions without pretending attestation proves physical presence.
Game backendASP.NET Core 10 LTS, C#, SignalRAuthenticated commands, authoritative gameplay, live world updates, marketplace flows, mint jobs, and reconciliation.
World databasePostgreSQL 17 + PostGISPlayers, skills, items, transactions, encounters, settlements, spatial cells, distance queries, and audit records.
Live coordinationRedis / Google Cloud MemorystoreSession presence, rate limits, distributed locks, hot geo-cache, and realtime fan-out between service instances.
Cloud runtimeGoogle Cloud Run, Cloud SQL, Cloud Storage, Cloud CDNContainer hosting, managed relational data, Addressables delivery, autoscaling, TLS, backups, and regional deployment.
BlockchainPolygon PoS, Solidity, OpenZeppelinLow-cost EVM settlement for the NFTerra ERC-20 currency and ERC-721 identity of successfully minted equipment.
Player walletthirdweb Unity SDK v6 + ERC-4337 smart accountEmbedded onboarding, signed transactions, sponsored gas, recovery-capable accounts, and an adapter to external EVM wallets.
Delivery and operationsGitHub Actions, Terraform, OpenTelemetry, Google Cloud OperationsRepeatable environments, tested builds, infrastructure review, traces, metrics, logs, alerts, and incident evidence.

“Google Maps is free” needs one precise qualification.

Google currently lists native mobile Maps SDK usage with unlimited no-cost usage, but still requires a billed Cloud project and restricted API keys. Places, Routes, geocoding, Street View, and tile products have separate quotas and prices, so they are excluded until a feature and cost review approves them.

Location gameplay

GPS is evidence—not permission to award loot.

The native location services supply observations. Only the authoritative game server decides whether a movement, encounter, resource, conquest action, or partner hotspot is valid.

  1. 01

    Ask in context

    Request foreground location only when the player enters map gameplay and explain why precise location improves the experience.

  2. 02

    Read natively

    Collect a fresh Android fused-location or iOS Core Location observation with time, accuracy, speed, and heading.

  3. 03

    Bind the request

    Attach session, nonce, action, recent movement history, and available Play Integrity or App Attest evidence.

  4. 04

    Validate

    Reject stale, replayed, impossible, low-confidence, rate-limited, unsafe, or policy-ineligible requests.

  5. 05

    Query the world

    PostGIS checks spatial cells, distance, region, encounter rules, territory, venue bounds, and server-controlled availability.

  6. 06

    Commit once

    The server records one accepted result and returns only the nearby world state the player is allowed to see.

The first playable does not need background tracking.

Location is read while the map game is open. Background collection would add battery, safety, store-policy, consent, and privacy scope before it proves any necessary player value.

A conceptual cutaway of NFTerra's mobile map, authoritative services, geospatial database, and public asset rail
Hybrid mobile and asset architectureSelected baseline · implementation pending

Currency, NFTs, and wallet

Polygon records assets. It does not run the MMORPG.

NFTerra targets Polygon PoS because it is EVM-compatible, supports established token and NFT standards, and allows lower-cost transactions with sponsored-gas onboarding.

  • The game currency is an ERC-20 token after legal, economic, security, and launch approval.
  • Each successfully minted unique item receives an ERC-721 token identity and committed provenance.
  • ERC-4337 smart accounts allow NFTerra to sponsor ordinary game transaction gas and support safer recovery flows.
  • thirdweb Unity SDK v6 is the first-playable integration, isolated so wallet, RPC, bundler, or storage vendors can be replaced.
  • Sealed bases, ordinary resources, skills, quests, precise location, buildings, totems, and territory remain in authoritative game state.
  • Development starts on Polygon Amoy testnet. Mainnet deployment requires contract audits, operating controls, and legal approval.

Your inventory is your wallet

Everything you carry, in one place.

Currency, minted equipment, sealed bases, consumables, quest items, and stacks such as arrows belong in one inventory. Currency can move to compatible external wallets. Minted NFTs represent actual game items and stay inside NFTerra, where players can use and trade them under the game rules.

StateCanonical authorityPublic?
Position, movement, combat, skills, drops, quests, territory, and buildingsASP.NET authoritative game worldNo
Sealed bases, resources, conventional items, and service work ordersPostgreSQL game and exchange ledgersOwnership no; minimized trade proof where approved
NFTerra currency ownershipPolygon ERC-20 contract after confirmed settlementYes
Successfully minted item ownershipPolygon ERC-721 contract after confirmed settlementYes
Player signing authorityPlayer smart account and approved recovery policy; game access uses a separate cryptographic device registrationAddress and transactions only; device identity stays private
Project treasury and issuanceIsolated multi-party treasury control planeBalances and disclosures as required

Selected stack; unresolved delivery gates.

  • Validate native Google MapView and transparent Unity compositing on representative Android and iPhone hardware
  • Complete licensed import and APK generation with the pinned Unity 6000.3.18f1 Android toolchain; qualify the matching Xcode and iPhone dependencies
  • Qualify production signing and platform-restricted Maps keys; keep the existing company development project unbilled under the EUR 0 hosting budget until a new budget is authorized
  • Acquire a supported Mac and physical iPhone for Xcode builds, signing, App Attest, and store testing
  • Complete thirdweb custody, export, recovery, outage, privacy, and vendor-exit review before production approval
  • Approve initial circulation and allocations within the confirmed one-billion-token cap, treasury controls, fees, gas sponsorship, legal regions, KYC/AML, and withdrawal policy
  • Audit contracts, qualify valueless testnet infrastructure, test reconciliation and reorganization handling, and rehearse emergency controls
  • Load-test cloud reconnects, PostGIS cells, Redis coordination, and regional latency within an explicitly authorized hosting budget before scale commitments

Primary engineering references

The choices are tied to supported platform capabilities.

These official references are the current basis for the selected stack; versions, pricing, terms, and store requirements must be rechecked before each release.

Unity

Unity 6 releases

LTS and supported-release policy for the shared Android and iOS game engine.

Google

Maps pricing

Current Maps SDK, Dynamic Maps, tiles, Places, Routes, and other SKU pricing.

Android & Apple

Native location

Android fused-location guidance; iPhone uses Apple Core Location and App Attest.

Polygon

Polygon PoS

EVM compatibility, finality, execution, Ethereum checkpoints, and network architecture.

Next chapter

Technology protects the game loop; it does not replace it.

Continue to the cooperative organization layer for shared assets, contracts, escrow, member rights, voting, and town operations—or return to the economy that gives those systems utility.