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.comThe 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
SOLANA_RPC_URL=https://api.mainnet-beta.solana.comSOLANA_WS_URLstringdefault: wss://api.mainnet-beta.solana.comThe Solana WebSocket endpoint URL for real-time updates.
SOLANA_WS_URL=wss://api.mainnet-beta.solana.comServer Configuration
PORTnumberdefault: 3000The port on which the API server will listen.
PORT=3000NODE_ENVstringdefault: productionThe Node.js environment. Options: development, production, test
NODE_ENV=productionDEX Configuration
DEX_FORK_TYPEstringrequireddefault: CustomThe DEX fork type identifier for CoinGecko compatibility.
Supported Types:
Custom(recommended for Futarchy)Uniswap V2,Uniswap V3,Uniswap V4Raydium,Raydium CLMMOrca- See full list
DEX_FORK_TYPE=CustomFACTORY_ADDRESSstringrequiredThe factory program address that creates and manages DAO instances.
This must be a valid Solana program ID (PublicKey)
FACTORY_ADDRESS=YOUR_FACTORY_PROGRAM_IDROUTER_ADDRESSstringrequiredThe router program address for executing swaps.
ROUTER_ADDRESS=YOUR_ROUTER_PROGRAM_IDProtocol Configuration
PROTOCOL_FEE_RATEnumberdefault: 0.0025The protocol fee rate used for volume calculation. Default is 0.0025 (0.25%).
Formula: volume = protocolFees / feeRate
PROTOCOL_FEE_RATE=0.0025EXCLUDED_DAOSstringComma-separated list of DAO addresses to exclude from the API responses.
EXCLUDED_DAOS=DAO1_PUBLIC_KEY,DAO2_PUBLIC_KEY,DAO3_PUBLIC_KEYSupported 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:
# 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=11111111111111111111111111111111Validation
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
Premium RPC providers offer higher rate limits and better reliability
Ensure PROTOCOL_FEE_RATE matches your actual protocol fees
Use health check endpoint to monitor API status
Consider adding authentication for production deployments
Was this page helpful?