Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

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 dev

The app will be available at http://localhost:3000.

Required Environment Variables

VariableDescription
APPKIT_PROJECT_IDReown (WalletConnect) project ID
NUXT_PUBLIC_APP_URLYour 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 CONFIGURATION section at the top of assets/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_URL to point to a custom logo, or rely on the default inline SVG that follows the current accent color via currentColor.
  • 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.json files 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-lite

To 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.mjs

Repository

Source, issue tracker, and full configuration reference: github.com/euler-xyz/euler-lite.