Configuration
Environment variables for @dome/sdk-evm and host apps.
Configure these DOME_* variables before running deposit, withdraw, or balance checks.
Required (client)
| Variable | Description |
|---|---|
DOME_EVM_INDEXER_URL | Backend base URL (indexer + relayer) |
DOME_BASE_RPC | Base / Base Sepolia JSON-RPC |
DOME_ETH_POOL_ADDRESS | EtherPool proxy address |
DOME_FEE_RECIPIENT_ADDRESS | Protocol fee recipient |
DOME_CIRCUIT_KEY_BASE_PATH | URL prefix for transaction2.wasm / .zkey (no trailing slash) |
Optional (client)
| Variable | Description |
|---|---|
DOME_CHAIN_ID | 84532 (Sepolia) or 8453 (mainnet) |
DOME_USDC_POOL_ADDRESS | Private USDC pool (when deployed) |
DOME_USDC_TOKEN_ADDRESS | USDC token address |
DOME_RELAYER_SECRET | Sent on withdraw when using public relayer |
DOME_RELAYER_WITHDRAW_URL | Override relayer endpoint |
PRIVATE_KEY | Signer for CLI scripts / Node integrations |
Testnet example
export DOME_EVM_INDEXER_URL=https://api.getdome.app
export DOME_BASE_RPC=https://base-sepolia.g.alchemy.com/v2/YOUR_KEY
export DOME_ETH_POOL_ADDRESS=0x... # base-sepolia-deploy.json
export DOME_FEE_RECIPIENT_ADDRESS=0x...
export DOME_CHAIN_ID=84532
export DOME_CIRCUIT_KEY_BASE_PATH=https://circuits.getdome.app/transaction
export DOME_RELAYER_SECRET=... # if backend requires it
export PRIVATE_KEY=0x...Circuits
The SDK loads:
{keyBasePath}2.wasm → transaction2.wasm
{keyBasePath}2.zkey → transaction2.zkeyHosted testnet:
https://circuits.getdome.app/transaction2.wasm
https://circuits.getdome.app/transaction2.zkeySee Circuit Hosting.
Pool config API
Validate env before transacting:
curl -s "$DOME_EVM_INDEXER_URL/config" | jqHost app mapping
Framework apps often use build-time env vars and map them before importing the SDK:
| App | Config module |
|---|---|
dome-web | app/wallet/configureSdk.ts, .env.local |
dome-mobile | src/dome/configureSdk.ts, .env |
Run bash scripts/web/configure-sepolia-env.sh or bash scripts/mobile/configure-sepolia-env.sh to sync from the deploy manifest.
Web proxy (dome-web)
Browser wallet — same-origin proxy to backend:
DOME_BACKEND_URL=https://api.getdome.app
DOME_EVM_INDEXER_URL=/api/indexer
DOME_BASE_RPC=/api/rpcNext.js proxies /api/indexer/* and /api/rpc to DOME_BACKEND_URL.
Backend environment
Server-side variables for @dome/backend: Backend & Indexer.
Install
npm install github:Dome-Foundation/dome-sdk-evm#main
# or monorepo:
npm install @dome/sdk-evm@file:../dome-sdk-evm