-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
212 lines (192 loc) · 7.18 KB
/
Copy path.env.example
File metadata and controls
212 lines (192 loc) · 7.18 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# EvoHive local config
PORT=4310
DB_PATH=./data/evohive.db
ARENA_ID=arena-main
CHAIN_ID=196
BURN_ADDRESS=0x000000000000000000000000000000000000dEaD
PREMIUM_BUFF_FEE_USDC=0.001
REQUEST_TTL_SEC=120
AUTH_ISSUED_AT_SKEW_SEC=5
# Signature mode: auto|legacy|hmac|eip712
# - auto: prefer eip712 (if EIP712_EXPECTED_SIGNER set), else hmac (if EVOHIVE_AUTH_SECRET set), else legacy
# - legacy: any non-empty signature accepted (demo only)
# - hmac: signature must equal HMAC_SHA256 over auth envelope
# - eip712: signature must recover EIP712_EXPECTED_SIGNER
AUTH_SIGNATURE_MODE=auto
EVOHIVE_AUTH_SECRET=
EVOHIVE_AUTH_SECRET_FILE=
# optional keyring rotation format: keyA:secretA,keyB:secretB
EVOHIVE_AUTH_KEYRING=
# optional default key id when using keyring signatures
EVOHIVE_AUTH_DEFAULT_KEY_ID=
# optional local panel signing endpoint (HMAC only)
PANEL_AUTH_SIGNER_ENABLED=false
PANEL_AUTH_SIGNER_LOCAL_ONLY=true
EIP712_DOMAIN_NAME=EvoHiveArenaAuth
EIP712_DOMAIN_VERSION=1
EIP712_VERIFYING_CONTRACT=0x0000000000000000000000000000000000000000
EIP712_EXPECTED_SIGNER=
EIP712_ALLOWED_SIGNERS=
MAX_BATTLES_PER_HOUR=12
MAX_MATCHES_SAME_OPPONENT_PER_DAY=3
# ranked|sparring (default mode when challenge payload omits matchMode)
BATTLE_DEFAULT_MODE=ranked
BATTLE_CHALLENGE_WINDOW_SEC=30
BATTLE_ACCEPT_LOCK_SEC=10
BATTLE_EXECUTION_SEC=120
BATTLE_SETTLEMENT_SEC=20
BATTLE_DISPUTE_SEC=60
BATTLE_COOLDOWN_SEC=300
# Composite battle scoring
BATTLE_SCORE_USE_COMPOSITE=true
BATTLE_SCORE_W_QUALITY=0.25
BATTLE_SCORE_W_RELEVANCE=0.25
BATTLE_SCORE_W_POTENTIAL_IMPACT=0.20
BATTLE_SCORE_W_NOVELTY=0.15
BATTLE_SCORE_W_FRESHNESS=0.15
# Market data mode: paper|live (live uses WS primary + REST fallback)
MARKET_DATA_MODE=paper
MARKET_DATA_SYMBOLS=BTCUSDT,ETHUSDT,SOLUSDT
MARKET_WS_TIMEOUT_MS=1200
MARKET_REST_TIMEOUT_MS=3000
# Vector backend: sqlite|qdrant
VECTOR_BACKEND=sqlite
QDRANT_URL=
QDRANT_COLLECTION=evohive_memories
# Memory classifier (heuristic|oracle)
MEMORY_CLASSIFIER_MODE=heuristic
MEMORY_CLASSIFIER_ORACLE_URL=
MEMORY_CLASSIFIER_TIMEOUT_MS=4000
MEMORY_AUTO_STRATEGY_SIMILARITY_THRESHOLD=0.85
# Optional RBAC for protected write APIs
RBAC_ENABLED=false
RBAC_TOKEN_ROLES_JSON={}
RBAC_ROLE_POLICIES_JSON={"admin":["*"]}
# Optional high-risk confirmation (token handshake)
RISK_CONFIRMATION_REQUIRED=false
RISK_CONFIRMATION_ACTIONS=GET_PREMIUM_BUFF
RISK_CONFIRM_TOKEN_TTL_SEC=180
REDACT_SECRETS_IN_HEALTH=true
# Background ops workers + alerting
AUTO_RETRY_ENABLED=true
AUTO_RETRY_INTERVAL_SEC=120
AUTO_RETRY_BATCH=20
AUTO_RECONCILE_ENABLED=true
AUTO_RECONCILE_INTERVAL_SEC=300
AUTO_BATTLE_SWEEP_ENABLED=true
AUTO_BATTLE_SWEEP_INTERVAL_SEC=300
ALERT_ENABLED=true
ALERT_INTERVAL_SEC=120
ALERT_DEDUPE_SEC=1800
ALERT_RETRY_PENDING_THRESHOLD=30
ALERT_CIRCUIT_OPEN_THRESHOLD_SEC=300
ALERT_RECONCILE_MISMATCH_THRESHOLD=0
ALERT_PREMIUM_CAPACITY_WARN_THRESHOLD=3
ALERT_PREMIUM_CAPACITY_CRITICAL_THRESHOLD=1
ALERT_WEBHOOK_URL=
ALERT_WEBHOOK_TIMEOUT_MS=5000
# Battle settle auto-evolution (winner memory helps loser evolve)
AUTO_EVOLVE_ENABLED=false
AUTO_EVOLVE_MODE=copy
AUTO_EVOLVE_BACKUP_TO_HIVE=true
AUTO_EVOLVE_BACKUP_AGENT_ID=hive/backup
AUTO_EVOLVE_MIN_SCORE_GAP=0.02
AUTO_EVOLVE_MAX_PER_LOSER_PER_DAY=5
# Failed queue retention / archival
RETRY_FAILED_RETENTION_DAYS=7
RETRY_FAILED_ARCHIVE_ENABLED=true
RETRY_FAILED_ARCHIVE_BATCH=500
# Reconciliation strictness
# If true, live settlement sample requires eventTxLive in addition to payment/burn live tx
RECONCILE_REQUIRE_EVENT_LIVE=true
# Optional finality age guard before treating sample as settlement-ready
RECONCILE_MIN_FINALITY_SEC=120
# Default exclude synthetic/regression premium samples (meta.testOnly or requestId prefix)
RECONCILE_EXCLUDE_TEST_ONLY=true
# Comma-separated requestId prefixes treated as test samples (case-insensitive)
RECONCILE_TEST_REQUEST_ID_PREFIXES=REGPREM-,01JDEMO
# Daily premium acceptance coverage (run command then reconcile)
AUTO_PREMIUM_ACCEPTANCE_ENABLED=true
AUTO_PREMIUM_ACCEPTANCE_INTERVAL_SEC=86400
AUTO_PREMIUM_ACCEPTANCE_CMD=
AUTO_PREMIUM_ACCEPTANCE_TIMEOUT_MS=120000
AUTO_PREMIUM_ACCEPTANCE_REQUIRE_LIVE_SAMPLE=true
AUTO_PREMIUM_ACCEPTANCE_BALANCE_GUARD_ENABLED=true
AUTO_PREMIUM_ACCEPTANCE_MIN_USDC=0.0015
AUTO_PREMIUM_ACCEPTANCE_MIN_GAS_TOKEN=0.003
AUTO_PREMIUM_ACCEPTANCE_GUARD_CHAIN=196
AUTO_PREMIUM_ACCEPTANCE_BALANCE_CHECK_INTERVAL_SEC=900
# OnchainOS integration
# ONCHAIN_MODE: auto|stub|live|hybrid
# - live: HTTP API only
# - hybrid: try skill hook first, fallback to HTTP API
ONCHAIN_MODE=auto
ONCHAINOS_BASE_URL=
ONCHAINOS_API_KEY=
ONCHAINOS_API_KEY_FILE=
ONCHAINOS_TIMEOUT_MS=10000
ONCHAINOS_X402_VERIFY_PATH=/x402/verify
# Optional second HTTP channel for verify (full URL, e.g. https://backup-host/x402/verify)
ONCHAINOS_X402_VERIFY_FALLBACK_URL=
ONCHAINOS_X402_VERIFY_FALLBACK_API_KEY=
ONCHAINOS_X402_VERIFY_FALLBACK_API_KEY_FILE=
ONCHAINOS_WALLET_TRANSFER_PATH=/wallet/transfer
ONCHAINOS_EVENT_PROOF_PATH=/events/proof
ONCHAINOS_RETRY_MAX_ATTEMPTS=6
ONCHAINOS_RETRY_BASE_MS=400
ONCHAINOS_RETRY_MAX_MS=8000
ONCHAINOS_RETRY_JITTER_RATIO=0.2
ONCHAINOS_CIRCUIT_FAIL_THRESHOLD=5
ONCHAINOS_CIRCUIT_OPEN_SEC=45
# Fault injection for regression (json): {"verify":2,"burn":1,"event":2}
ONCHAINOS_FAULT_INJECT_JSON={}
# Optional skill-first integration (for ONCHAIN_MODE=hybrid)
ONCHAINOS_SKILL_ENABLED=false
ONCHAINOS_SKILL_TIMEOUT_MS=12000
ONCHAINOS_SKILL_USE_CLI=true
ONCHAINOS_SKILL_CLI_BIN=onchainos
# Built-in CLI path for x402 payment signing (verify phase)
ONCHAINOS_SKILL_X402_NETWORK=
ONCHAINOS_SKILL_X402_PAY_TO=
ONCHAINOS_SKILL_X402_ASSET=
ONCHAINOS_SKILL_X402_FROM=
ONCHAINOS_SKILL_X402_FROM_ACCOUNT_ID=
ONCHAINOS_SKILL_X402_AMOUNT_DECIMALS=6
# Optional: if true, when x402-pay fails, fallback verify via wallet micro-transfer.
# Keep false to avoid accidental double-payment in strict x402 tests.
ONCHAINOS_SKILL_VERIFY_FALLBACK_WALLET=false
# Built-in CLI path for burn transfer (wallet send)
ONCHAINOS_SKILL_WALLET_CHAIN=196
ONCHAINOS_SKILL_WALLET_FROM=
# Burn tx sender. If empty, fallback to ONCHAINOS_SKILL_WALLET_FROM.
ONCHAINOS_SKILL_BURN_FROM=
# Optional explicit account id for burn sender (avoids auto-discovery scan)
ONCHAINOS_SKILL_BURN_FROM_ACCOUNT_ID=
# If true, burn sender defaults to ONCHAINOS_SKILL_X402_PAY_TO (two-step burn model).
ONCHAINOS_SKILL_BURN_FROM_X402_PAY_TO=false
ONCHAINOS_SKILL_BURN_MIN_GAS_TOKEN=0.001
ONCHAINOS_SKILL_WALLET_FORCE=true
ONCHAINOS_SKILL_USDC_TOKEN=
# Optional file-backed OKX creds (recommended over inline env)
OKX_API_KEY=
OKX_SECRET_KEY=
OKX_PASSPHRASE=
OKX_API_KEY_FILE=
OKX_SECRET_KEY_FILE=
OKX_PASSPHRASE_FILE=
# Optional custom skill commands (if set, used after CLI attempt)
# Commands are executed with env:
# EVOHIVE_ACTION=verify|burn|event
# EVOHIVE_PAYLOAD_JSON=<json>
ONCHAINOS_SKILL_VERIFY_CMD=
ONCHAINOS_SKILL_BURN_CMD=
ONCHAINOS_SKILL_EVENT_CMD=node ./scripts/onchainos-event-hook.js
# Event hook settings
# Option A (recommended): set deployed MemoryEvents contract for typed event methods
EVOHIVE_MEMORY_EVENTS_CONTRACT=
# Option B (no contract deploy): set a target EOA/contract and write event digest into tx calldata
ONCHAINOS_EVENT_TX_TO=
# Optional: map logical agents to EVM addresses used by MemoryEvents methods
# Example: {"agent-a":"0x...","agent-b":"0x...","agent-c":"0x..."}
ONCHAINOS_AGENT_ADDRESS_MAP_JSON={}
ONCHAINOS_EVENT_USDC_DECIMALS=6