Move-to-Earn Mechanics Development

We design and develop full-cycle blockchain solutions: from smart contract architecture to launching DeFi protocols, NFT marketplaces and crypto exchanges. Security audits, tokenomics, integration with existing infrastructure.
Showing 1 of 1 servicesAll 1306 services
Move-to-Earn Mechanics Development
Complex
~1-2 weeks
FAQ
Blockchain Development Services
Blockchain Development Stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1214
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    852
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    823

Move-to-Earn Mechanics Development

STEPN in 2022 proved that physical activity and crypto-economics can form a loop with a multi-billion dollar market. Then it showed that improperly constructed tokenomics can break that loop within weeks. Move-to-Earn is not just gamification of fitness—it's a complex system with oracles, anti-cheat mechanics, dual-token economics, and a sustainability problem that STEPN never solved.

M2E mechanic development is the intersection of mobile development, on-chain logic, and economic design. Technically implementing it is straightforward. Building a sustainable system that won't collapse within a month is a fundamentally different task.

Motion Data Architecture

What to Count and How to Verify

The phone generates accelerometer, gyroscope, and GPS data. From these we extract: steps (pedometer), distance (GPS + step count fusion), speed, activity type (walk/run/bike). Problem: this data is easy to fake.

iOS CoreMotion / Android SensorManager — native APIs for steps and activity. On iOS, CMPedometer is the system pedometer with natively verified data from Apple. Android has HealthConnect API with similar trust levels.

But the app shouldn't trust this data directly for on-chain recording—it opens a vector for root/jailbreak farming.

Anti-cheat: Multi-level Protection

Level 1: Device integrity. iOS App Attest / Android Play Integrity API—confirmation that the app runs on a real device without jailbreak, without emulator. Attestation request to Apple/Google servers, response is a signed token.

// iOS App Attest flow
async function getAttestation(challenge: string): Promise<AttestationResult> {
    const keyId = await DCAppAttestService.generateKey()
    const clientDataHash = sha256(challenge)
    const attestation = await DCAppAttestService.attestKey(keyId, clientDataHash)

    // Send to backend for verification
    const result = await api.post('/verify-attestation', {
        attestation: btoa(attestation),
        keyId,
        challenge
    })
    return result
}

Level 2: Activity plausibility check. Backend analyzes GPS track and steps for plausibility:

  • Speed > 12 m/s on "walk" type → flag
  • Perfectly uniform step every 0.8s with zero variance → flag (emulator)
  • GPS track teleports 500m → flag
  • All sessions exactly 30 minutes daily → suspicious
interface ActivitySession {
    userId: string
    startTime: number
    endTime: number
    steps: number
    distance: number      // meters
    avgSpeed: number      // m/s
    gpsTracks: GpsPoint[]
    rawAccelerometer?: number[]  // for pattern analysis
    integrityToken: string      // Play Integrity / App Attest token
}

function validateSession(session: ActivitySession): ValidationResult {
    const duration = (session.endTime - session.startTime) / 1000 // seconds
    const avgStepFrequency = session.steps / duration

    const flags: string[] = []

    if (session.avgSpeed > 3.5 && session.activityType === 'walk') flags.push('speed_anomaly')
    if (avgStepFrequency > 3.5 || avgStepFrequency < 0.8) flags.push('step_frequency_anomaly')
    if (hasGpsTeleportation(session.gpsTracks)) flags.push('gps_anomaly')
    if (hasZeroVariance(session.rawAccelerometer)) flags.push('synthetic_data')

    return { valid: flags.length === 0, flags, score: calculateTrustScore(session, flags) }
}

Level 3: Machine Learning anomaly detection. At scale—ML model on activity patterns. Humans have characteristic step variations, breathing rhythm (reflected in accelerometer), GPS absent from emulators without mock location. Model trained on legitimate sessions detects deviations.

Level 4: Rate limiting through NFT durability. STEPN-like mechanism: equipment (NFT shoes) has energy pool. No energy—no reward. Energy regenerates slowly. This isn't just game mechanic—it's a rate limiter: even if someone simulates activity, Energy cap limits maximum reward.

On-chain Architecture

NFT Equipment and Attributes

struct Equipment {
    uint256 tokenId;
    EquipmentType equipType;  // SHOES, BICYCLE, etc.
    uint8 efficiency;         // affects base reward
    uint8 luck;               // affects drop rate
    uint8 comfort;            // affects earning range
    uint8 resilience;         // affects durability drain rate
    uint16 durability;        // current durability (0-100)
    uint8 level;              // max 30
    uint8 mintCount;          // how many times used for offspring minting
}

mapping(uint256 => Equipment) public equipment;
mapping(address => uint256) public energyPool; // current energy
mapping(address => uint256) public lastEnergyRefill;

Reward Contract and Oracle

Backend verifies session, signs claim. User presents signature in reward contract:

contract MoveToEarnReward {
    address public rewardSigner;    // backend signer
    mapping(bytes32 => bool) public claimedSessions;

    function claimReward(
        bytes32 sessionId,
        uint256 steps,
        uint256 rewardAmount,
        uint256 equipmentId,
        uint256 deadline,
        bytes calldata signature
    ) external {
        require(block.timestamp <= deadline, "Expired");
        require(!claimedSessions[sessionId], "Already claimed");

        bytes32 hash = keccak256(abi.encodePacked(
            sessionId, msg.sender, steps, rewardAmount, equipmentId, deadline
        ));
        bytes32 ethHash = ECDSA.toEthSignedMessageHash(hash);
        require(ECDSA.recover(ethHash, signature) == rewardSigner, "Invalid signature");

        claimedSessions[sessionId] = true;

        // Reduce equipment durability
        _drainDurability(equipmentId, steps);

        // Mint reward token
        rewardToken.mint(msg.sender, rewardAmount);
    }
}

Tokenomics: Sustainability Problem

STEPN had GST (spending token) and GMT (governance token). GST minted infinitely for steps, burned infinitely for repair/upgrades. While new players outnumbered old players—token grew. When growth stopped—inflation ate the price in weeks.

Dual-token with burn sink:

Earning token (ET) — minted for activity, used for:
  - Durability repair (sink 1, primary)
  - NFT attribute upgrades (sink 2)
  - Crafting (mint new NFT) (sink 3, creates NFT inflation)

Governance token (GT) — limited supply, obtained via:
  - Rare drops for activity (luck attribute affects)
  - Staking
  - DAO participation

Variable emission rate. Reward per step = f(network activity, daily active users, total burn in period). If sink < mint → emit reduces automatically. Not a solution, but slows degradation.

Real-world value sink. Most sustainable solution: portion of new NFT sale revenue goes to buyback & burn earning token. Real money → deflation pressure. Decentralized health insurance partnership (user gets insurance discount for activity, insurer pays in tokens)—exotic, but seen in several projects.

Activity data monetization. Aggregated and anonymized activity data has value for pharmaceutical research, urban planning. B2B sale of this data = real revenue = buyback. Requires careful user consent and GDPR compliance.

Levels and Progression

NFT has level (0-30). Each level unlocks gem slots (additional boosts). Upgrade requires burning ET + time lock:

Level ET Cost Time Unlocks
1 → 5 10 ET Instant Socket 1 (gem slot)
5 → 10 50 ET 24h Socket 2
10 → 20 200 ET 72h Socket 3, Mint capability
20 → 30 1000 ET 7d Socket 4, Special abilities

Time lock is not just mechanic—it's additional sink and throttle on reward farming.

Mobile Stack

React Native + Expo—fastest path for cross-platform. Expo bare workflow for native module access (CMPedometer, Play Integrity). Expo Location for GPS background tracking.

Mapbox / Google Maps SDK for GPS track display. Background location requires explicit permission and justified UX explanation to user.

WalletConnect v2 + wagmi for wallet connection. Alternative—embedded wallet via Privy/Dynamic for non-crypto-native audience.

Mobile App (React Native)
├── Activity Tracking (CoreMotion / HealthConnect)
├── Anti-cheat (App Attest / Play Integrity)
├── GPS Recording (Expo Location background)
├── Session Upload → Backend
│       ├── Plausibility Check
│       ├── ML Anomaly Detection
│       └── Sign Reward Claim
└── On-chain Claim (wagmi / WalletConnect)

Development Process

Tokenomics design (2-4 weeks). Not a technical task, but critical. Modeling in Python/Excel: at what parameters is the system sustainable? Sensitivity analysis on DAU growth rate, churn, avg session reward.

Smart contracts (3-4 weeks). NFT contract (ERC-721 + attributes), reward contract with oracle-backed claim, ET token (ERC-20 with mint/burn), upgrade mechanics.

Backend (3-5 weeks). Activity validation pipeline, anti-cheat systems, reward calculation, signer service, App Attest / Play Integrity integration.

Mobile app (6-10 weeks). GPS + activity tracking, background sessions, NFT viewer, reward claim UI, marketplace integration.

Audit and testing. Smart contract audit mandatory. Beta with limited user pool to validate anti-cheat before public launch.

MVP (web app without mobile, basic anti-cheat)—2-3 months. Full M2E with mobile, multi-level NFT, anti-cheat ML, sustainable tokenomics—6-9 months.