ZeroHop is a cutting-edge spot crypto exchange built on the Yellow Network.
Follow these instructions to get the project up and running on your local machine.
- Node.js (v18 or higher)
- npm (comes with Node.js)
- A Sepolia testnet wallet with private key
- Alchemy RPC URL (or any Sepolia RPC provider)
git clone https://github.com/suhasdasari/ZeroHop.git
cd ZeroHopWe use a monorepo structure. Run this from the root directory to install dependencies for all apps and packages:
npm installCopy the example environment file and fill in your details:
cp .env.example .envOpen .env and add your configuration:
# Your Sepolia wallet private key (with 0x prefix)
DEV_PRIVATE_KEY=0x...
# Alchemy Sepolia RPC URL
ALCHEMY_RPC_URL=https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY
# Address to receive faucet funds (usually your wallet address)
FAUCET_REQUEST_ADDRESS=0x...To start the Next.js frontend (The Exchange):
# Run from the root directory
npm run devThe app will be available at http://localhost:3000.
Test the Yellow Network integration and check your off-chain balance:
npm run test:balanceRequest test tokens (ytest.usd) from the Yellow Network Sandbox faucet:
npm run test:faucetNote: Faucet funds are credited to your Unified Balance (off-chain), not your on-chain wallet.
To create an optimized production build:
npm run buildZeroHop/
├── apps/
│ └── web/ # Next.js frontend application
├── packages/
│ └── config/ # Shared configurations (TypeScript, Tailwind, ESLint)
├── scripts/
│ ├── check-balance.js # Check Yellow Network balance
│ └── fund-wallet.js # Request faucet funds
├── tests/
│ ├── check-balance-test.js
│ └── fund-wallet-test.js
└── docs/ # Documentation
| Command | Description |
|---|---|
npm run dev |
Start the Next.js development server |
npm run build |
Build the application for production |
npm run test:balance |
Check your Yellow Network balance |
npm run test:faucet |
Request test tokens from the faucet |