A decentralized, AI-powered escrow platform for work verification and instant payments, built on the Avalanche blockchain.
- Node.js (LTS version recommended)
- npm or Yarn (for JavaScript/TypeScript projects)
- Python 3.8+ (for AI Agent)
- pip (Python package installer)
- Git (for cloning the repository)
- Hardhat (Ethereum development environment, installed via npm)
- MetaMask or any Web3-compatible wallet (for interacting with the DApp)
Follow these steps to set up the project locally.
-
Clone the Repository:
git clone [YOUR_REPOSITORY_URL] cd verifi-app -
Contracts Setup: Navigate to the
contractsdirectory, install dependencies, and set up environment variables.cd contracts npm install # or yarn install cp .env.example .env # Edit .env with your PRIVATE_KEY, Fuji RPC URL, etc.
-
Frontend DApp Setup: Navigate to the
frontenddirectory, install dependencies, and set up environment variables.cd ../frontend npm install # or yarn install cp .env.example .env # Edit .env with your contract address, etc.
-
AI Agent Setup: Navigate to the
ai-agentdirectory, create a virtual environment, install Python dependencies, and set up environment variables.cd ../ai-agent python3 -m venv venv source venv/bin/activate pip install -r requirements.txt cp .env.example .env # Edit .env with your blockchain RPC URL, AI Agent private key, etc. deactivate # Optional: exit virtual environment
-
Hardhat Local Network (Optional, for local development): You can start a local Hardhat network in the
contractsdirectory to deploy and test locally.cd ../contracts npx hardhat node -
Deploy Contracts (if using local network): In a new terminal, from the
contractsdirectory, deploy your contracts to the local Hardhat network.cd ../contracts # Ensure nvm is sourced and Node.js v20+ is used if you encounter issues # source ~/.nvm/nvm.sh && nvm use 20 npx hardhat run scripts/deploy.ts --network localhost
The contract should be deployed to
0x5FbDB2315678afecb367f032d93F642f64180aa3. ACTION REQUIRED: Updatefrontend/.envandai-agent/.envwith this deployed contract address forREACT_APP_CONTRACT_ADDRESSandCONTRACT_ADDRESSrespectively.
This project aims to solve the core problems faced by global freelancers: high transaction fees, long payment settlement times, and subjective work quality disputes. VeriFi integrates a Smart Contract Escrow, an AI Agent as an automatic arbiter, and the speed of Avalanche to create a fair, transparent, and efficient solution.
The complete development planning document can be found at doc/development_plan.md.