Submitted by: LimeChain
Date: January 13, 2026
Grant Request: $75,000.00
Project Duration: 9 weeks
Delivery Deadline: March 22, 2026
Contact Details
Primary Contact: Zhivko Todorov
Email: zhivko@limechain.tech
Telegram: zhivkoto
Website: https://limechain.tech
Proposal Summary
Our proposal uses a three-layer architecture: a client layer (React frontend with game state management, mining worker, and proof generator), the Aztec network layer (PXE for private execution plus the Dark Forest contract), and ZK circuits written in Noir. The key architectural decision is consolidating the original Dark Forest’s 11-facet Solidity Diamond pattern into a single unified Aztec contract with native privacy—this simplifies the structure while leveraging Aztec’s built-in private/public state separation.
The implementation is split across four phases over 9 weeks. Phase 1 (Weeks 1-3) converts the Circom circuits to Noir, including Init, Move, and Reveal circuits plus a Perlin noise implementation for procedural galaxy generation. Phase 2 (Weeks 4-6) ports the Solidity game logic to Noir, with their pre-work revealing that core mechanics are abstracted in three libraries (LibLazyUpdate, LibGameUtils, LibPlanet) which makes the port more tractable. Phase 3 (Weeks 4-9) adapts the existing Dark Forest browser client rather than rewriting it, integrating with Aztec’s PXE API and WASM-compiled Noir provers. Phase 4 (Weeks 7-9) focuses on comprehensive testing with coverage targets of 100% for circuits and 95%+ for contracts, as well as ensuring sub-60-second turn execution.
About LimeChain
LimeChain is a blockchain development and consulting company contributing to Ethereum and the broader blockchain ecosystem since 2017, with a proven track record of delivering complex infrastructure, developer tooling and applications for protocols, crypto-native startups, and Fortune 500 companies. Over the years, we have worked with and contributed to industry leading protocols and organizations such as the Ethereum Foundation, Coinbase, Arbitrum, Optimism, Polygon, Scroll, The Graph and many others. As the date of this post, LimeChain has no active commercial relationship with any Ethereum L2.
Deep Ethereum L2 & Rollup Expertise
At LimeChain we care deeply about scaling Ethereum and the L2 ecosystem. We collaborated with the EF on based-sequencing research. In addition, we have contributed to many of the leading rollups with core protocol work such as alternative client implementations. Lastly, we are the creators and maintainers of Rollup.codes—an interactive specification website for the Ethereum Rollup ecosystem that was awarded a RetroPGF grant.
Zero-Knowledge Proof Experience
Through our work with Polygon zkEVM, Scroll, Taiko and others, we’ve attained practical expertise in ZK proof technologies, such as Circom, Halo2 and plonky2. We believe this will help us with building Noir-based smart contracts.
Commitment to Public Goods & Open Source
LimeChain’s ethos is deeply aligned with Ethereum’s and Aztec core values. We dedicate significant resources to building public goods, open-source software and research.
Gaming Experience
Although our core expertise is blockchain technologies, throughout the years we have worked with numerous gaming companies such as IMVU, the Sandbox and False9.
Why Aztec
At LimeChain, we care about Ethereum and we care about privacy. We see this project as the beginning of our long-term contribution to the Aztec ecosystem through apps, and potentially protocol research, infrastructure and tooling.
Our Preparation
We’re already somewhat familiar with Noir and its recent developments. However, for this proposal we’ve conducted extensive research on the original Dark Forest codebase, including detailed analysis of the Circom circuits, Solidity smart contracts (Diamond pattern with 11 facets), and the game mechanics implemented in libraries like LibLazyUpdate and LibGameUtils. This preparation enables us to hit the ground running with a clear technical roadmap.
Technical Approach
Architecture Overview
Our implementation follows a three-layer architecture optimized for Aztec’s privacy-first design:
Phase 1: Circuit Conversion (Weeks 1-3)
Objective: Convert Dark Forest’s Circom circuits to Noir, Aztec’s native circuit language
Deliverables
-
Init Circuit (spawn validation)
-
Move Circuit (distance & bounds validation)
-
Reveal Circuit (coordinate disclosure)
-
Perlin Noise implementation
-
Supporting modules (hash, utils)
-
Comprehensive test suite
Phase 2: Smart Contract Development (Weeks 4-6)
Objective: Port Dark Forest game logic from Solidity Diamond pattern to unified Aztec smart contract
Challenge: The original uses 11 separate facets (DFCoreFacet, DFMoveFacet, DFArtifactFacet, etc.). We’re consolidating this into a single Aztec contract with native privacy.
Architecture Discovery:
Through pre-development analysis, we asserted that the game logic is abstracted from three libraries (LibLazyUpdate, LibGameUtils, LibPlanet). This insight allows us to port the core mechanics efficiently.
Contract Structure:
Storage Design
| State Type | Data | Visibility | Purpose |
|---|---|---|---|
| Private | Player init status | Owner only | Hide who has initialized |
| Private | Home planet location | Owner only | Strategic secrecy |
| Private | Unreviewed planet ownership | Owner only | Hidden exploration |
| Private | Artifact ownership | Owner only | NFT privacy |
| Public | Planet statistics | All | Revealed/active planets |
| Public | Revealed coordinates | All | Public map data |
| Public | Pending arrivals | All | Visible movements |
| Public | Game configuration | All | Rules and parameters |
Deliverables
-
contracts/src/main.nr- Main Dark Forest contract (~1500 lines) -
contracts/src/types.nr- Type definitions (Planet, Player, Arrival, etc.) -
contracts/src/game_logic.nr- Core mechanics (combat, growth, planet generation) -
contracts/src/math.nr- Fixed-point math library (replacing ABDK Math64x64) -
Comprehensive unit tests for all game mechanics
-
Integration tests with circuits
Phase 3: Frontend Development
Objective: Modify the current Browser implementation to utilize the new Circuits, Provers and Contracts, while staying true to the original game implementation.
Architecture
Key Components
-
Game State Management
-
Update and adjust dependencies to
@aztec/aztec.js -
Sync with Aztec contract state
-
Conflict resolution for concurrent updates
-
-
Map Mining System
-
Calidate or re-write logic for:
-
Perlin noise computation
-
Incremental discovery
-
-
Update difficulty adjustment based on network parameters
-
-
Proof Generation Pipeline
-
WASM-compiled Noir circuits
-
Async proof generation
-
Re-writing progress indicators for user feedback
-
-
Rendering Engine
- Validating that all mined areas are reflected in UI
-
Transaction Management
-
Updating modules to conform to Aztec’s implementation of
-
Batch transaction support
-
Gas estimation
-
Queue management for pending moves
-
Retry logic with backoff
-
-
Deliverables
-
Updated React Application
-
Updated Mining worker with Perlin PoW
-
Proof generation Rework
-
Aztec PXE integration layer
-
User documentation and tutorials
Phase 4: Integration & Testing (Weeks 7-9)
Objective: Comprehensive testing, optimization, and deployment preparation
Test Coverage Targets
| Component | Coverage Target | Test Types |
|---|---|---|
| Circuits | 100% | Unit, property-based |
| Smart Contracts | 95%+ | Unit, integration, fuzzing |
| Game Logic | 95%+ | Unit, scenario-based |
| Frontend | 80%+ | Unit, integration, E2E |
Test Scenarios:
-
Core Gameplay
-
Player initialization with various spawn locations
-
Planet discovery and ownership
-
Movement between planets (various distances)
-
Combat scenarios (defender wins, attacker wins, edge cases)
-
Resource growth over time
-
Planet upgrades
-
-
Advanced Features
-
Artifact discovery at foundries
-
Artifact movement and NFT minting
-
Spacetime rip mechanics
-
Multiple players interacting
-
Edge cases (simultaneous moves, race conditions)
-
-
Performance
-
Turn time under load
-
Proof generation benchmarks
-
Map mining performance
-
State sync with many planets
-
Concurrent user stress testing
-
-
Security
-
Circuit constraint verification
-
Private state isolation
-
Access control validation
-
Replay attack prevention
-
Front-running mitigation
-
Deliverables
-
Comprehensive test suite
-
Deployment scripts and documentation
-
User acceptance testing results
Grant Roadmap
Timeline: 9 Weeks (January 20 - March 22, 2026)
Milestone 1: Circuit Conversion Complete (Weeks 1-3)
Deliverables:
-
Init circuit with comprehensive tests
-
Move circuit (distance/bounds validation) with edge case coverage
-
Reveal circuit with security validation
-
Perlin noise implementation with fidelity verification
-
Hash module
-
Utils module with helper functions
-
Comprehensive test suite
-
Circuit architecture documentation
-
Performance benchmarking report
Milestone 2: Smart Contract MVP (Weeks 3-9)
Deliverables:
-
Core Dark Forest contract in Noir
-
Type definitions and supporting libraries
-
Game logic implementation
-
Player initialization
-
Planet discovery and ownership
-
Movement and arrivals system
-
Combat mechanics
-
Resource growth
-
-
Circuit integration (Init, Move, Reveal)
-
Storage layer
-
Unit tests for all core functions
-
Integration tests with circuits
-
Deployment to Aztec devnet
Milestone 3: Frontend (Weeks 4-9)
Deliverables
-
React application with game
-
Aztec PXE integration
-
Core gameplay features:
-
Player spawn and initialization
-
Planet discovery and mining
-
Movement interface
-
Combat visualization
-
Resource display
-
Transaction management
-
Milestone 4: Production Deployment (Week 9)
Deliverables:
-
Comprehensive testing (E2E, performance, security)
-
Production deployment to Aztec network
-
Complete documentation
-
Setup and deployment guide
-
Developer documentation
-
User documentation and tutorial
-
Performance metrics and benchmarking report
-
Team and Budget Rationale
-
Total Request: $75,000.00
-
Timeline: 9 weeks
Note: We have NOT included a security audit in the grant scope or budget
Team Lead
Role: Project management, architecture design, smart contract development, operational oversight
Responsibilities:
-
Overall project architecture and technical direction
-
Aztec smart contract implementation (game logic, state management)
-
Circuit integration with contracts
-
Code review and quality assurance coordination
-
Stakeholder communication and milestone delivery
-
Documentation of architectural decisions
Rust/Noir Developer
Role: Circuit development, Noir programming, ZK proof optimization
Responsibilities
-
Circom-to-Noir circuit conversion (Init, Move, Reveal)
-
Perlin noise implementation in Noir
-
Circuit testing and optimization
-
Proof generation performance tuning
-
Integration with Aztec’s proving system
-
Technical documentation for circuit implementations
Full-Stack Web Developer
Role: Frontend development, blockchain integration, user experience
Responsibilities:
-
Dark Forest web client development
-
Aztec PXE (Private Execution Environment) integration
-
Game state rendering and visualization
-
Transaction handling and proof generation UI
-
Mining algorithm implementation (client-side)
-
User onboarding and documentation
Quality Assurance
Role: Testing, integration verification, deployment validation
Responsibilities:
-
Comprehensive test suite development
-
Integration testing across contracts, circuits, and frontend
-
Performance benchmarking
-
Deployment verification on Aztec
-
Bug tracking and resolution verification
Launch and future plans
At LimeChain, we want to contribute to the Aztec ecosystem long-term and see this as our first step on this journey. We plan to cover the hosting/infrastructure costs for the initial 3 months of launching. In addition to that, we’ll invest resources in a marketing campaign and content creation. Based on reception and usage metrics (to be shared in a report to the Aztec community), we’ll evaluate whether to continue hosting, maintaining and potentially further develop the game or focus on contributing in other areas of the Aztec ecosystem.


