Skip to content

Configuration

Configure your Futarchy DEX API instance

Environment Variables

All configuration is managed through environment variables in your .env file.

Quick Reference

Variable Description Default Required
SOLANA_RPC_URL Solana RPC endpoint URL https://api.mainnet-beta.solana.com Yes
SOLANA_WS_URL Solana WebSocket endpoint URL wss://api.mainnet-beta.solana.com No
PORT Server port 3000 No
NODE_ENV Node.js environment production No
DEX_FORK_TYPE DEX fork type identifier Custom Yes
FACTORY_ADDRESS Factory program address (empty) Yes
ROUTER_ADDRESS Router program address (empty) Yes
PROTOCOL_FEE_RATE Protocol fee rate for volume calculation 0.0025 (0.25%) No
EXCLUDED_DAOS Comma-separated list of DAO addresses to exclude (empty) No

Solana Configuration

SOLANA_RPC_URLstringrequireddefault: https://api.mainnet-beta.solana.com

The Solana RPC endpoint URL for fetching blockchain data.

Recommendations:

  • Use a dedicated RPC provider (e.g., Helius, QuickNode) for production
  • Public endpoints may be rate-limited
env
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
SOLANA_WS_URLstringdefault: wss://api.mainnet-beta.solana.com

The Solana WebSocket endpoint URL for real-time updates.

env
SOLANA_WS_URL=wss://api.mainnet-beta.solana.com

Server Configuration

PORTnumberdefault: 3000

The port on which the API server will listen.

env
PORT=3000
NODE_ENVstringdefault: production

The Node.js environment. Options: development, production, test

env
NODE_ENV=production

DEX Configuration

DEX_FORK_TYPEstringrequireddefault: Custom

The DEX fork type identifier for CoinGecko compatibility.

Supported Types:

  • Custom (recommended for Futarchy)
  • Uniswap V2, Uniswap V3, Uniswap V4
  • Raydium, Raydium CLMM
  • Orca
  • See full list
env
DEX_FORK_TYPE=Custom
FACTORY_ADDRESSstringrequired

The factory program address that creates and manages DAO instances.

This must be a valid Solana program ID (PublicKey)

env
FACTORY_ADDRESS=YOUR_FACTORY_PROGRAM_ID
ROUTER_ADDRESSstringrequired

The router program address for executing swaps.

env
ROUTER_ADDRESS=YOUR_ROUTER_PROGRAM_ID

Protocol Configuration

PROTOCOL_FEE_RATEnumberdefault: 0.0025

The protocol fee rate used for volume calculation. Default is 0.0025 (0.25%).

Formula: volume = protocolFees / feeRate

env
PROTOCOL_FEE_RATE=0.0025
EXCLUDED_DAOSstring

Comma-separated list of DAO addresses to exclude from the API responses.

env
EXCLUDED_DAOS=DAO1_PUBLIC_KEY,DAO2_PUBLIC_KEY,DAO3_PUBLIC_KEY

Supported DEX Forks

The following DEX fork types are supported for CoinGecko compatibility:

AMM Protocols
  • Uniswap V2, V3, V4
  • Raydium
  • Raydium CLMM
  • Orca
  • Balancer V2, V3
  • Curve
Concentrated Liquidity
  • Algebra
  • Algebra Integral
  • Camelot V3
  • Cetus
  • Iziswap
  • Kyberswap
  • Kyberswap Elastic
  • Quickswap V3
  • Maverick V2
Other Protocols
  • Solidly V2, V3
  • Traderjoe V2
  • Velocore V2
  • Ston.fi, Ston.fi V2
  • Surge Protocol
  • Dedust
  • Ekubo
  • Jediswap
  • And more...

Example Configuration

Here's a complete example .env file:

env
# Solana Configuration
SOLANA_RPC_URL=https://rpc.helius.xyz/?api-key=YOUR_API_KEY
SOLANA_WS_URL=wss://rpc.helius.xyz/?api-key=YOUR_API_KEY

# Server Configuration
PORT=3000
NODE_ENV=production

# DEX Configuration
DEX_FORK_TYPE=Custom
FACTORY_ADDRESS=FACTgvmECoA8e8Y4h3cKfQcr45Rthxsix92YUJz1DiBk
ROUTER_ADDRESS=RouTSKvxjyPNWvDCQkBq3cDPZcqEW3ZQRzDCJvxTBhQ

# Protocol Configuration
PROTOCOL_FEE_RATE=0.0025

# Optional: Exclude specific DAOs
EXCLUDED_DAOS=11111111111111111111111111111111

Validation

The API validates all configuration on startup and will log warnings or errors for invalid settings.

On startup, check the logs for:

  • RPC connection successful
  • Factory address valid
  • Router address valid
  • Any configuration warnings

Production Recommendations

Use Premium RPC

Premium RPC providers offer higher rate limits and better reliability

Set Appropriate Fees

Ensure PROTOCOL_FEE_RATE matches your actual protocol fees

Monitor Performance

Use health check endpoint to monitor API status

Secure Your Endpoints

Consider adding authentication for production deployments

We use essential cookies to keep you signed in. With your permission, PostHog and Cloudflare Web Analytics measure how the site is used.