Developing Sustainable Move-to-Earn Mechanics
Move-to-Earn isn't just fitness gamification — it's a complex system with oracles, anti-cheat mechanics, and a dual-token economy. STEPN showed that poorly designed tokenomics can destroy a project in weeks. Our experience includes 5+ years in Web3 and 10+ M2E projects. We start with tokenomic modeling: that's the foundation everything else depends on.
How Anti-Cheat Works in M2E — Building Robust Move Mechanic
A mobile app collects data from the accelerometer, gyroscope, and GPS. From these we extract steps, distance, speed, and activity type. The problem: this data is easy to fake on a jailbroken device or emulator. We use four protection layers, and our ML module is 3x more accurate than rule-based heuristics:
Level 1: Device integrity. iOS App Attest / Android Play Integrity API — confirms the app runs on a real device. Attestation is a signed token from Apple/Google. Source: Apple App Attest documentation.
Level 2: Activity plausibility check. Backend analyzes GPS track and steps for plausibility: speed > 12 m/s while walking — flag, perfectly uniform step pattern — flag (emulator), GPS teleportation — flag.
Level 3: ML anomalies. At scale we train an ML model on legitimate sessions. It catches subtleties that rules miss: breathing rhythm, step variation.
Level 4: NFT durability. Each NFT sneaker has an energy pool that slowly recovers. Even if activity is simulated, the energy cap limits maximum rewards.
Why Tokenomics Decides Everything
STEPN had GST (spending token) and GMT (governance). GST was minted infinitely for steps and burned for repairs. While player count grew, the token rose. When growth stopped, inflation crashed the price in weeks. We design dual-token systems with multiple burn mechanisms:
- Durability repair — primary sink.
- NFT upgrade — burns ET.
- Crafting (mint new NFT) — creates NFT inflation but burns ET.
Variable emission rate: reward per step = f(network activity, DAU, total burn). If sink < mint, emission decreases automatically. Not a silver bullet, but slows degradation.
Real-world value: part of NFT sale revenue goes to buyback & burn the earning token. Also possible B2B data monetization: aggregated activity data sold to pharmaceutical companies with user consent.
Anti-Cheat Level Comparison
| Level | Method | Accuracy | Resources |
|---|---|---|---|
| Level 1 | App Attest / Play Integrity | 90% | Low, client-side |
| Level 2 | Heuristics (speed, variance) | 70% | Medium, backend |
| Level 3 | ML model | 95% | High, training + inference |
| Level 4 | NFT Energy cap | 100% for emulation | Low, on-chain |
On-Chain Architecture
NFT Equipment and Attributes
Solidity contracts store Equipment with attributes: efficiency, luck, comfort, resilience, durability, level. Each NFT is a shoe, bicycle, etc. User's energy pool recovers over time.
Reward Contract and Oracle
Backend verifies the session and signs a claim. User submits the signature to the reward contract, which mints tokens and reduces durability. This off-chain + on-chain hybrid reduces gas costs.
contract MoveToEarnReward { address public rewardSigner; 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; _drainDurability(equipmentId, steps); rewardToken.mint(msg.sender, rewardAmount); } } NFT Levels and Progression
Each NFT has levels 0–30. Each level unlocks gem slots and additional boosts. Upgrading requires burning ET and a time lock, further limiting farming.
| 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 |
Mobile Stack
React Native + Expo — cross-platform development with native module access. Expo bare workflow gives access to CMPedometer, Play Integrity. Expo Location for GPS tracking in background. WalletConnect v2 + wagmi for wallet connection. For non-crypto audience, embedded wallet via Privy/Dynamic.
Apple CMPedometer provides natively verified step data, boosting Level 2 anti-cheat reliability.
Development Process
- Tokenomic modeling (2–4 weeks). Python/Excel — sensitivity analysis by DAU, churn, rewards.
- Smart contracts (3–4 weeks). NFT, Reward, ET token, Upgrade mechanics.
- Backend (3–5 weeks). Activity validation, anti-cheat, reward calculation, signer.
- Mobile app (6–10 weeks). GPS + activity tracking, NFT viewer, reward claim UI.
- Audit and beta test. Smart contract audit mandatory. Beta with user limit.
What's Included
- Documentation: tokenomic model, architecture, interaction diagrams.
- Open-source smart contracts with optional audit.
- Backend with API for validation and claim signing.
- Mobile app (iOS + Android) with anti-cheat.
- Repository access, CI/CD, admin panel.
- Client team training for support.
- 3-month warranty support after launch.
Timeline Estimates
MVP (no mobile, basic anti-cheat) — from 2 to 3 months. Full solution with ML anti-cheat and sustainable tokenomics — from 6 to 9 months. Cost calculated individually after requirements audit. Contact us to assess your project.
Learn more about how we implement anti-cheat — get a consultation. Request a token-economy estimate for your M2E project.







