Euler Lite
euler-lite is an open-source, customizable frontend that wraps the core functionality of Euler Finance in a package you can clone, theme, and deploy under your own brand. It is a great starting point for teams that want to offer an Euler-powered lending experience without building a UI from scratch.
Features
- Lending & Borrowing — deposit assets to earn yield or borrow against collateral.
- Portfolio Management — track positions and performance.
- Rewards — built-in integrations with Merkl, Incentra, and Fuul reward programs.
- Multi-chain Support — connect to any EVM-compatible network by setting an RPC and subgraph URL per chain.
- Fully Themeable — override colors, logo, favicon, token icons, and feature flags via environment variables and a single SCSS variables file.
Prerequisites
- Node.js 24+ (24.14.1 recommended)
- npm
- Git
- A Reown Project ID (formerly WalletConnect), obtainable at reown.com
Quick Start
git clone https://github.com/euler-xyz/euler-lite
cd euler-lite
npm install
cp .env.example .env
# fill in required values (see below)
npm run devThe app will be available at http://localhost:3000.
Required Environment Variables
| Variable | Description |
|---|---|
APPKIT_PROJECT_ID | Reown (WalletConnect) project ID |
NUXT_PUBLIC_APP_URL | Your app's public URL |
RPC_URL_HTTP_<chainId> | RPC endpoint per chain (e.g. RPC_URL_HTTP_1 for Ethereum) |
NUXT_PUBLIC_SUBGRAPH_URI_<chainId> | Subgraph URI per chain |
Chains are discovered dynamically at startup: any RPC_URL_HTTP_<chainId> with a matching NUXT_PUBLIC_SUBGRAPH_URI_<chainId> is automatically enabled — no code changes required to add or remove chains.
Customization
Euler Lite is designed to be rebranded with minimal code changes:
- Theme colors — edit the
THEME CONFIGURATIONsection at the top ofassets/styles/variables.scss. All colors (including chart and graph palettes, light/dark overrides, and derived shadows/glows) flow from these CSS custom properties. - Logo — set
NUXT_PUBLIC_CONFIG_LOGO_URLto point to a custom logo, or rely on the default inline SVG that follows the current accent color viacurrentColor. - Favicon — replace files in
public/favicons/. - Token icons — drop overrides into
assets/tokens/<symbol>.png. The app resolves token icons from a unified list that aggregates the Euler API, Uniswap, and DefiLlama. - Feature flags & branding — toggle pages (Earn, Lend, Explore), reward integrations (Merkl, Incentra, Fuul), social links, policy URLs, and more via
NUXT_PUBLIC_CONFIG_*environment variables. - Curated Earn vaults — optionally point the app at your own labels repository containing chain-specific
earn-vaults.jsonfiles to restrict which EulerEarn vaults are surfaced.
See the repository README for the full list of NUXT_PUBLIC_CONFIG_* flags and customization options.
Deployment
The repository includes a Dockerfile with optional Doppler integration for runtime secret injection:
docker build --build-arg APP_PORT=3000 -t euler-lite .
docker run -p 3000:3000 \
-e DOPPLER_TOKEN=your-doppler-token \
-e DOPPLER_PROJECT=euler-lite \
-e DOPPLER_CONFIG=production \
euler-liteTo run without Doppler, pass the required environment variables directly and override the default CMD:
docker run -p 3000:3000 \
-e EULER_API_URL=https://indexer.euler.finance \
-e SWAP_API_URL=https://swap.euler.finance \
-e PRICE_API_URL=https://indexer.euler.finance \
-e APPKIT_PROJECT_ID=your-project-id \
-e RPC_URL_HTTP_1=https://your-rpc.com \
-e NUXT_PUBLIC_SUBGRAPH_URI_1=https://your-subgraph.com \
euler-lite node .output/server/index.mjsRepository
Source, issue tracker, and full configuration reference: github.com/euler-xyz/euler-lite.