Perp Dex As A Service - Powered by Injective
🚀 Launch your own DEX in under 5 minutes - No coding required, just clone and run!
- Modern and intuitive design - Beautiful, responsive UI that users will love
- Complete customizability - Brand it your way, customize colors, logos, and features
- Fully integrated with Injective's on-chain order book - Enterprise-grade trading infrastructure
- No liquidity bootstrapping needed - Start trading immediately with existing on-chain liquidity
- Earn 40% of all trading fees - Earn revenue from every trade on your DEX
Prerequisites: These instructions assume you have Git installed.
This repository is self‑contained and vendors the shared injective-ui layer, so you can run it without fetching external layers.
Clone the repo and run the setup script - it handles everything automatically!
macOS / Linux:
git clone git@github.com:InjectiveLabs/pdaas.git
cd pdaas
./setup.shThen just run:
yarn dev🎉 That's it! Your dev server will be running at http://127.0.0.1:3000
Other platforms and details
Windows (PowerShell):
git clone git@github.com:InjectiveLabs/pdaas.git
cd pdaas
.\setup.ps1Alternative (if you already have Node.js installed):
git clone git@github.com:InjectiveLabs/pdaas.git
cd pdaas
npm run setupThe setup script will:
- ✓ Check and install Node.js 20 (if needed)
- ✓ Check and install Yarn Classic (if needed)
- ✓ Copy
.env.exampleto.env - ✓ Install all dependencies
- ✓ Get you ready to code!
📖 Manual Setup (Advanced)
If you prefer to set things up manually or want more control:
First, check if you already have Node.js:
node --versionIf you see a version number starting with v20.x.x, you're good! Skip to step 2.
If you see command not found or a different version, install Node.js 20 using one of these methods:
Method 1: Direct Download (easiest for beginners)
- Visit nodejs.org/download
- Download the LTS version 20.x installer for your operating system:
- macOS: Download the
.pkgfile and run it - Windows: Download the
.msifile and run it - Linux: Use your package manager or download the binary
- macOS: Download the
- Follow the installation wizard (accept defaults)
- Verify installation:
node --version # Should output: v20.x.xnpm --version # Should output: 10.x.x (npm comes with Node.js)
Method 2: Using nvm (recommended for developers - macOS/Linux)
nvm lets you easily switch between Node.js versions.
- Install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash - Close and reopen your terminal, then run:
nvm install 20 nvm use 20
- Verify:
node --version # Should output: v20.x.x
Method 3: Using asdf (for multi-language version management)
# Install asdf first if you don't have it
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
# Add to your shell profile (~/.bashrc, ~/.zshrc, etc.)
echo '. "$HOME/.asdf/asdf.sh"' >> ~/.zshrc
# Restart terminal, then install Node.js
asdf plugin add nodejs
asdf install nodejs 20
asdf local nodejs 20Method 4: Using Volta (cross-platform version manager)
# Install Volta
curl https://get.volta.sh | bash
# Restart terminal, then install Node.js
volta install node@20First, check if you already have Yarn:
yarn --versionIf you see a version starting with 1.x.x, you're good! Skip to Installation.
If you see command not found or version 2.x/3.x/4.x, install Yarn Classic:
Method 1: Using Corepack (recommended - built into Node.js 16.9+)
# Enable Corepack
corepack enable
# Install Yarn 1.22.22
corepack prepare yarn@1.22.22 --activate
# Verify
yarn --version
# Should output: 1.22.22Note: If
corepack enablefails with permission errors, trysudo corepack enable(macOS/Linux) or run as Administrator (Windows).
Method 2: Using npm (if Corepack doesn't work)
# Install globally
npm install -g yarn@1.22.22
# Verify
yarn --version
# Should output: 1.22.22Note: If you get permission errors on macOS/Linux, try
sudo npm install -g yarn@1.22.22
- Clone the repository
git clone git@github.com:InjectiveLabs/pdaas.git
cd pdaas- Install dependencies
yarnNote: If you get
yarn: command not found, go back to the Prerequisites section above and install Yarn.
- Copy environment variables template and configure for local development
cp .env.example .envEdit .env and set your configuration. The vendored injective-ui layer is used by default (LOCAL_LAYER=true).
- Run the app locally
yarn devThe dev server will start on http://127.0.0.1:3000 (configurable via PORT and HOST in .env).
Notes:
- By default, the app uses the vendored
injective-uilayer from this repo (faster, offline-capable). - To use the remote layer from GitHub instead, set
LOCAL_LAYER=falsein.envor runyarn dev:remote. - For security, the dev server binds to
127.0.0.1(localhost-only). UseHOST=0.0.0.0in.envif you need network access.
This project is built using Nuxt and TailwindCSS and is powered by the injective-ts monorepo. It vendors the shared injective-ui layer for a smooth, self‑contained local development experience while retaining upstream Injective compatibility.
You can run the app locally without having to set up a relayer. Use the public network in your VITE_NETWORK .env configuration variable and run yarn dev. You can find available networks (predefined endpoint sets) here. Using these endpoints (from the public network) gives 40% of trading fees to the community spend pool. Once you set up private endpoints, you can redirect that 40% to any address you wish.
Deployment & Nuxt3
You can deploy this Nuxt 3 app using your preferred provider (Vercel, Netlify, Cloudflare Pages, or AWS S3/CloudFront). For static sites, use yarn generate; for server rendering, use nuxi build and your platform's adapter.
See the official Nuxt docs for deployment guides.
This project runs on Nuxt 3. You shouldn't need any migration steps; just follow the Getting Started section above.
Copyright © 2021 - 2025 Injective Foundation (https://injectivelabs.org/)
Originally released by Injective Foundation under:
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/