-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy path.env.example
More file actions
87 lines (77 loc) · 7.14 KB
/
.env.example
File metadata and controls
87 lines (77 loc) · 7.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# ═══════════════════════════════════════════════════════════════════════════════
# MEV PROTOCOL — ENVIRONMENT CONFIGURATION
# Copy to .env and fill in your values. Never commit real keys.
# ═══════════════════════════════════════════════════════════════════════════════
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ PRIVATE KEYS │
# └─────────────────────────────────────────────────────────────────────────────┘
PRIVATE_KEY=
FLASHBOTS_SIGNER_KEY=
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ RPC ENDPOINTS │
# └─────────────────────────────────────────────────────────────────────────────┘
ARBITRUM_RPC_URL=https://arb-mainnet.g.alchemy.com/v2/YOUR_KEY_1
ARBITRUM_WS_URL=wss://arb-mainnet.g.alchemy.com/v2/YOUR_KEY_1
ARBITRUM_WS_URL_2=wss://arb-mainnet.g.alchemy.com/v2/YOUR_KEY_2
ARBITRUM_WS_URL_3=wss://arb-mainnet.g.alchemy.com/v2/YOUR_KEY_3
ARBITRUM_RPC_BACKUP=https://arb1.arbitrum.io/rpc
# Go network node (comma-separated for multi-endpoint pool)
# Use separate Alchemy API keys per endpoint for rate-limit isolation
MEV_RPC_ENDPOINTS=wss://arb-mainnet.g.alchemy.com/v2/YOUR_KEY_1,wss://arb-mainnet.g.alchemy.com/v2/YOUR_KEY_2,wss://arb-mainnet.g.alchemy.com/v2/YOUR_KEY_3
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ CONTRACT ADDRESSES │
# └─────────────────────────────────────────────────────────────────────────────┘
FLASH_ARBITRAGE_CONTRACT=0x0000000000000000000000000000000000000000
BALANCER_VAULT=0xBA12222222228d8Ba445958a75a0704d566BF2C8
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ STRATEGY │
# └─────────────────────────────────────────────────────────────────────────────┘
MIN_PROFIT_BPS=10
MAX_GAS_PRICE_GWEI=1
SLIPPAGE_BPS=50
SCAN_AMOUNTS_ETH=0.1,0.5,1,5,10
MAX_POSITION_ETH=50
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ GO NETWORK NODE │
# └─────────────────────────────────────────────────────────────────────────────┘
MEV_RPC_MAX_CONNS=10
MEV_RPC_TIMEOUT=5s
MEV_RPC_HEALTH_INTERVAL=30s
MEV_MEMPOOL_BUFFER=10000
MEV_MEMPOOL_FILTER=true
MEV_MEMPOOL_MIN_VALUE=100000000000000000
MEV_PIPELINE_WORKERS=4
MEV_PIPELINE_BUFFER=5000
MEV_METRICS_ENABLED=true
MEV_METRICS_ADDR=:9090
MEV_FLASHBOTS_URL=https://relay.flashbots.net
# Note: Flashbots is Ethereum mainnet only.
# On Arbitrum, bundles go direct to the sequencer — relay is kept for future multi-chain.
MEV_RELAY_MAX_CONCURRENT=3
MEV_RELAY_REQUIRE_SIM=true
FLASHBOTS_SIGNING_KEY=
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ PERFORMANCE │
# └─────────────────────────────────────────────────────────────────────────────┘
DETECTOR_THREADS=4
SIMULATOR_THREADS=2
POOL_REFRESH_MS=100
RPC_TIMEOUT_MS=5000
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ LOGGING │
# └─────────────────────────────────────────────────────────────────────────────┘
LOG_LEVEL=info
LOG_JSON=true
LOG_FILE=logs/mev-engine.log
METRICS_PORT=9090
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ API KEYS │
# └─────────────────────────────────────────────────────────────────────────────┘
ARBISCAN_API_KEY=
ETHERSCAN_API_KEY=
MORALIS_API_KEY=
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ TELEGRAM (OPTIONAL) │
# └─────────────────────────────────────────────────────────────────────────────┘
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=