Liquid Terminal is a data processing platform and services dedicated to the HyperLiquid ecosystem. Our goal is to allow everyone to find everything they need through our services/products to navigate the HyperLiquid ecosystem.
- Real-time Market Data - Live order books, price feeds, and trading data
- Token Analytics - Comprehensive token information and charts
- Blockchain Explorer - Transaction tracking and address monitoring
- User Dashboard - Personalized portfolio and trading history
- Wiki Documentation - Educational resources and guides
- Authentication - Secure user management with Privy
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS, shadcn/ui components
- Charts: TradingView Lightweight Charts, Recharts
- State Management: Zustand
- Authentication: Privy
- Data Fetching: Axios with custom hooks
- Real-time: WebSocket connections
- Deployment: Vercel-ready
src/
├── app/ # Next.js App Router pages
│ ├── dashboard/ # User dashboard
│ ├── ecosystem/ # Liquid ecosystem features
│ ├── explorer/ # Blockchain explorer
│ ├── market/ # Market data & trading
│ ├── user/ # User profile & settings
│ └── wiki/ # Documentation
├── components/ # React components by domain
│ ├── ui/ # Reusable UI components (shadcn)
│ ├── common/ # Shared components
│ ├── dashboard/ # Dashboard components
│ ├── ecosystem/ # Ecosystem components
│ ├── explorer/ # Explorer components
│ ├── market/ # Market components
│ ├── user/ # User components
│ └── wiki/ # Wiki components
├── services/ # API services by domain
│ ├── api/ # Axios configuration
│ ├── auth/ # Authentication services
│ ├── common/ # Shared services
│ ├── dashboard/ # Dashboard services
│ ├── ecosystem/ # Ecosystem services
│ ├── explorer/ # Explorer services
│ ├── market/ # Market services
│ └── wiki/ # Wiki services
├── lib/ # Utility libraries
│ ├── utils.ts # General utilities
│ ├── dateFormatting.ts # Date formatting
│ ├── numberFormatting.ts # Number formatting
│ ├── tokenNameMapper.ts # Token mapping
│ └── roleHelpers.ts # Role management
├── hooks/ # Custom React hooks
├── contexts/ # React contexts
├── store/ # Global state (Zustand)
└── styles/ # Custom CSS
- Node.js 18+
- npm, yarn, pnpm, or bun
-
Clone the repository
git clone https://github.com/your-org/liquidterminal_front.git cd liquidterminal_front -
Install dependencies
npm install
-
Set up environment variables
cp env.example .env
Update
.envwith your configuration:# For local development (requires backend) NEXT_PUBLIC_API=http://localhost:3002 # For production (deployed API) # NEXT_PUBLIC_API=https://liquidterminal.up.railway.app JWKS_URL=https://auth.privy.io/api/v1/apps/YOUR_PRIVY_APP_ID/jwks.json NEXT_PUBLIC_PRIVY_AUDIENCE=YOUR_PRIVY_APP_ID NEXT_PUBLIC_ENVIRONMENT=development
Note: For local development, you'll need to run the backend API. See LiquidTerminal Backend for setup instructions.
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
npm run dev- Start development server (Turbo)npm run dev:clean- Clear.nextcache and start dev (use when ENOENT errors occur)npm run dev:stable- Start dev without Turbo (more stable on WSL)npm run clean- Remove.nextcache onlynpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
If you see ENOENT: no such file or directory errors with _buildManifest.js.tmp:
- Stop the server (Ctrl+C)
- Run
npm run dev:clean— clears the cache and restarts - If it persists:
npm run dev:stable— disables Turbo (slower but more stable, especially on WSL) - Avoid running multiple
npm run devinstances in parallel
- TypeScript - Strict type checking enabled
- ESLint - Code quality and consistency
- Prettier - Code formatting
- Tailwind CSS - Utility-first styling
Coming soon.
- API Implementation Guide - How to add new API service
- Website: liquidterminal.com
- X: @LiquidTerminal
This project is licensed under the MIT License - see the LICENSE file for details.