MeshVision is a decentralized infrastructure for verifiable AI inference. It enables developers to offload complex computer vision tasks—such as object detection, facial recognition (privacy-preserving), and anomaly detection—to a distributed network of TEE-enabled compute nodes.
By leveraging Zero-Knowledge Proofs (ZKPs) and Optimistic Verification, MeshVision ensures that every pixel processed is cryptographically verifiable, bridging the gap between high-performance AI and trustless Web3 systems.
The MeshVision monorepo is organized into a modular microservices architecture:
| Package | Path | Description | Tech Stack |
|---|---|---|---|
| dApp | packages/dapp |
The user interface for submitting tasks and exploring the network. | React, Vite, Wagmi, RainbowKit |
| Node | packages/node |
The Python-based compute engine. Runs ONNX models and generates ZK proofs. | Python 3.10, FastAPI, ONNX, YOLOv8 |
| Router | packages/router |
The orchestrator. Listens to on-chain events and dispatches tasks to nodes. | TypeScript, Node.js, Ethers.js |
| Contracts | packages/contracts |
Smart contracts handling escrow, task lifecycle, and verification. | Solidity, Hardhat |
- Verifiable Inference: Every computation comes with a proof of execution.
- Privacy-First: Support for ZK-Blur models to redact sensitive information at the edge.
- Decentralized Storage: Input/Output data is secured via IPFS (Pinata).
- Cost Efficient: Fraction of the cost compared to centralized cloud vision APIs.
- Seamless UX: One-click deployment and intuitive dashboard for task management.
- Node.js: v18+
- pnpm: v8+
- Python: v3.10+
- MetaMask: Or any Web3 wallet
We have provided a unified startup script that handles dependency installation, model setup, and service orchestration.
./start-dev.shThis will:
- Install Node.js dependencies (
pnpm install). - Setup the Python environment and download the YOLOv8 model.
- Start the dApp (frontend), Node (compute), and Router (backend) concurrently.
Access the dApp at: http://localhost:5173
Before running in production, you must configure the environment variables for each service. We have provided .env.example files in each package.
Controls the AI inference engine and wallet identity.
WALLET_ADDRESS=0x... # Your node's public address
NODE_PRIVATE_KEY=0x... # Private key for signing results
MAX_CONCURRENT_TASKS=5 # Max parallel inferencesManages task scheduling and blockchain interaction.
RPC_URL=https://... # BSC RPC Endpoint
ROUTER_PRIVATE_KEY=... # Key for submitting transactionsFrontend configuration and IPFS keys.
VITE_PINATA_JWT=... # Pinata JWT for IPFS uploads- Connect Wallet: Open the dApp and connect your MetaMask.
- Select Model: Choose from available models (e.g., YOLOv8, ZK-Blur).
- Upload & Submit: Upload an image. The dApp uploads it to IPFS and creates an on-chain task.
- Processing: The Router detects the event and assigns it to a Compute Node.
- Verification: The Node processes the image, generates a proof, and submits the result.
- Result: The result appears in the "Explorer" tab as a Verified Inference.
We welcome contributions to the MeshVision ecosystem!
- Fork the repository.
- Create your feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.
Built with ❤️ by the MeshVision Team
