@vtxmacro/cli 2026.10.75 → 2026.10.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/exo-harness.ts +1140 -3
- package/bin/vtx-mcp.js +1152 -7
- package/bin/vtx-service-bootstrap.js +1140 -4
- package/bin/vtx-service-launcher.js +1139 -3
- package/bin/vtx.js +73203 -23838
- package/package.json +2 -2
package/bin/exo-harness.ts
CHANGED
|
@@ -75,6 +75,282 @@ var PROVIDER_OUT_OF_CREDIT = {
|
|
|
75
75
|
"vtx_phrase": "the ai provider account is out of credit",
|
|
76
76
|
"attempt_summary_marker": "out of credit"
|
|
77
77
|
};
|
|
78
|
+
var BINANCE_REQUEST_CONTRACT = {
|
|
79
|
+
"weight_interval": "1m",
|
|
80
|
+
"apis": {
|
|
81
|
+
"futures": {
|
|
82
|
+
"weight_window_seconds": 60,
|
|
83
|
+
"weight_per_window": 2400,
|
|
84
|
+
"orders": [
|
|
85
|
+
{
|
|
86
|
+
"interval": "10s",
|
|
87
|
+
"window_seconds": 10,
|
|
88
|
+
"limit": 300
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"interval": "1m",
|
|
92
|
+
"window_seconds": 60,
|
|
93
|
+
"limit": 1200
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"spot": {
|
|
98
|
+
"weight_window_seconds": 60,
|
|
99
|
+
"weight_per_window": 6e3,
|
|
100
|
+
"orders": []
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"klines": {
|
|
104
|
+
"default_limit": 500,
|
|
105
|
+
"limit_max": 1500,
|
|
106
|
+
"weight_tiers": [
|
|
107
|
+
{
|
|
108
|
+
"max_limit": 99,
|
|
109
|
+
"weight": 1
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"max_limit": 499,
|
|
113
|
+
"weight": 2
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"max_limit": 1e3,
|
|
117
|
+
"weight": 5
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"max_limit": 1500,
|
|
121
|
+
"weight": 10
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
"costs": {
|
|
126
|
+
"futures": {
|
|
127
|
+
"GET /fapi/v1/time": {
|
|
128
|
+
"weight": 1
|
|
129
|
+
},
|
|
130
|
+
"GET /fapi/v1/exchangeInfo": {
|
|
131
|
+
"weight": 1
|
|
132
|
+
},
|
|
133
|
+
"GET /fapi/v1/premiumIndex": {
|
|
134
|
+
"weight": 1,
|
|
135
|
+
"weight_all_symbols": 10
|
|
136
|
+
},
|
|
137
|
+
"GET /fapi/v2/ticker/price": {
|
|
138
|
+
"weight": 1,
|
|
139
|
+
"weight_all_symbols": 2,
|
|
140
|
+
"used_weight_header_unreliable": true
|
|
141
|
+
},
|
|
142
|
+
"GET /fapi/v1/klines": {
|
|
143
|
+
"weight_by_klines_limit": true
|
|
144
|
+
},
|
|
145
|
+
"GET /fapi/v1/accountConfig": {
|
|
146
|
+
"weight": 5
|
|
147
|
+
},
|
|
148
|
+
"GET /fapi/v1/symbolConfig": {
|
|
149
|
+
"weight": 5
|
|
150
|
+
},
|
|
151
|
+
"GET /fapi/v1/positionSide/dual": {
|
|
152
|
+
"weight": 30
|
|
153
|
+
},
|
|
154
|
+
"GET /fapi/v1/multiAssetsMargin": {
|
|
155
|
+
"weight": 30
|
|
156
|
+
},
|
|
157
|
+
"GET /fapi/v3/account": {
|
|
158
|
+
"weight": 5
|
|
159
|
+
},
|
|
160
|
+
"GET /fapi/v3/balance": {
|
|
161
|
+
"weight": 5
|
|
162
|
+
},
|
|
163
|
+
"GET /fapi/v3/positionRisk": {
|
|
164
|
+
"weight": 5
|
|
165
|
+
},
|
|
166
|
+
"GET /fapi/v1/openOrders": {
|
|
167
|
+
"weight": 1,
|
|
168
|
+
"weight_all_symbols": 40
|
|
169
|
+
},
|
|
170
|
+
"GET /fapi/v1/order": {
|
|
171
|
+
"weight": 1
|
|
172
|
+
},
|
|
173
|
+
"GET /fapi/v1/openAlgoOrders": {
|
|
174
|
+
"weight": 1,
|
|
175
|
+
"weight_all_symbols": 40
|
|
176
|
+
},
|
|
177
|
+
"GET /fapi/v1/algoOrder": {
|
|
178
|
+
"weight": 1
|
|
179
|
+
},
|
|
180
|
+
"GET /fapi/v1/userTrades": {
|
|
181
|
+
"weight": 5
|
|
182
|
+
},
|
|
183
|
+
"GET /fapi/v1/allOrders": {
|
|
184
|
+
"weight": 5
|
|
185
|
+
},
|
|
186
|
+
"GET /fapi/v1/income": {
|
|
187
|
+
"weight": 30
|
|
188
|
+
},
|
|
189
|
+
"GET /fapi/v1/leverageBracket": {
|
|
190
|
+
"weight": 1
|
|
191
|
+
},
|
|
192
|
+
"GET /fapi/v1/commissionRate": {
|
|
193
|
+
"weight": 20
|
|
194
|
+
},
|
|
195
|
+
"POST /fapi/v1/order": {
|
|
196
|
+
"weight": 0,
|
|
197
|
+
"orders": {
|
|
198
|
+
"10s": 1,
|
|
199
|
+
"1m": 1
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"PUT /fapi/v1/order": {
|
|
203
|
+
"weight": 0,
|
|
204
|
+
"orders": {
|
|
205
|
+
"10s": 1,
|
|
206
|
+
"1m": 1
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
"POST /fapi/v1/batchOrders": {
|
|
210
|
+
"weight": 5,
|
|
211
|
+
"orders": {
|
|
212
|
+
"10s": 5,
|
|
213
|
+
"1m": 1
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
"PUT /fapi/v1/batchOrders": {
|
|
217
|
+
"weight": 5,
|
|
218
|
+
"orders": {
|
|
219
|
+
"10s": 5,
|
|
220
|
+
"1m": 1
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"POST /fapi/v1/algoOrder": {
|
|
224
|
+
"weight": 0,
|
|
225
|
+
"orders": {
|
|
226
|
+
"10s": 1,
|
|
227
|
+
"1m": 1
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"DELETE /fapi/v1/order": {
|
|
231
|
+
"weight": 1
|
|
232
|
+
},
|
|
233
|
+
"DELETE /fapi/v1/batchOrders": {
|
|
234
|
+
"weight": 1
|
|
235
|
+
},
|
|
236
|
+
"DELETE /fapi/v1/allOpenOrders": {
|
|
237
|
+
"weight": 1
|
|
238
|
+
},
|
|
239
|
+
"DELETE /fapi/v1/algoOrder": {
|
|
240
|
+
"weight": 1
|
|
241
|
+
},
|
|
242
|
+
"DELETE /fapi/v1/algoOpenOrders": {
|
|
243
|
+
"weight": 1
|
|
244
|
+
},
|
|
245
|
+
"POST /fapi/v1/leverage": {
|
|
246
|
+
"weight": 1
|
|
247
|
+
},
|
|
248
|
+
"POST /fapi/v1/marginType": {
|
|
249
|
+
"weight": 1
|
|
250
|
+
},
|
|
251
|
+
"POST /fapi/v1/positionSide/dual": {
|
|
252
|
+
"weight": 1
|
|
253
|
+
},
|
|
254
|
+
"POST /fapi/v1/multiAssetsMargin": {
|
|
255
|
+
"weight": 1
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"spot": {
|
|
259
|
+
"GET /api/v3/time": {
|
|
260
|
+
"weight": 1
|
|
261
|
+
},
|
|
262
|
+
"GET /api/v3/account": {
|
|
263
|
+
"weight": 20
|
|
264
|
+
},
|
|
265
|
+
"GET /sapi/v1/account/apiRestrictions": {
|
|
266
|
+
"weight": 1
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
var BINANCE_ERROR_CODES = {
|
|
272
|
+
"codes": {
|
|
273
|
+
"UNKNOWN": -1e3,
|
|
274
|
+
"DISCONNECTED": -1001,
|
|
275
|
+
"UNAUTHORIZED": -1002,
|
|
276
|
+
"TOO_MANY_REQUESTS": -1003,
|
|
277
|
+
"UNEXPECTED_RESPONSE": -1006,
|
|
278
|
+
"TIMEOUT": -1007,
|
|
279
|
+
"REQUEST_THROTTLED": -1008,
|
|
280
|
+
"INVALID_MESSAGE": -1013,
|
|
281
|
+
"TOO_MANY_ORDERS": -1015,
|
|
282
|
+
"SERVICE_SHUTTING_DOWN": -1016,
|
|
283
|
+
"INVALID_TIMESTAMP": -1021,
|
|
284
|
+
"INVALID_SIGNATURE": -1022,
|
|
285
|
+
"MANDATORY_PARAM_EMPTY_OR_MALFORMED": -1102,
|
|
286
|
+
"BAD_PRECISION": -1111,
|
|
287
|
+
"INVALID_ORDER_TYPE": -1116,
|
|
288
|
+
"BAD_SYMBOL": -1121,
|
|
289
|
+
"INVALID_PARAMETER": -1130,
|
|
290
|
+
"NEW_ORDER_REJECTED": -2010,
|
|
291
|
+
"CANCEL_REJECTED": -2011,
|
|
292
|
+
"NO_SUCH_ORDER": -2013,
|
|
293
|
+
"BAD_API_KEY_FORMAT": -2014,
|
|
294
|
+
"REJECTED_API_KEY": -2015,
|
|
295
|
+
"BALANCE_NOT_SUFFICIENT": -2018,
|
|
296
|
+
"MARGIN_NOT_SUFFICIENT": -2019,
|
|
297
|
+
"UNABLE_TO_FILL": -2020,
|
|
298
|
+
"ORDER_WOULD_IMMEDIATELY_TRIGGER": -2021,
|
|
299
|
+
"REDUCE_ONLY_REJECT": -2022,
|
|
300
|
+
"POSITION_NOT_SUFFICIENT": -2024,
|
|
301
|
+
"MAX_OPEN_ORDER_EXCEEDED": -2025,
|
|
302
|
+
"REDUCE_ONLY_ORDER_TYPE_NOT_SUPPORTED": -2026,
|
|
303
|
+
"MAX_LEVERAGE_RATIO": -2027,
|
|
304
|
+
"MIN_LEVERAGE_RATIO": -2028,
|
|
305
|
+
"PRICE_GREATER_THAN_MAX_PRICE": -4002,
|
|
306
|
+
"QTY_LESS_THAN_ZERO": -4003,
|
|
307
|
+
"QTY_LESS_THAN_MIN_QTY": -4004,
|
|
308
|
+
"QTY_GREATER_THAN_MAX_QTY": -4005,
|
|
309
|
+
"STOP_PRICE_GREATER_THAN_MAX_PRICE": -4007,
|
|
310
|
+
"PRICE_LESS_THAN_MIN_PRICE": -4013,
|
|
311
|
+
"PRICE_NOT_INCREASED_BY_TICK_SIZE": -4014,
|
|
312
|
+
"INVALID_CLIENT_ORDER_ID": -4015,
|
|
313
|
+
"PRICE_HIGHER_THAN_MULTIPLIER_UP": -4016,
|
|
314
|
+
"QTY_NOT_INCREASED_BY_STEP_SIZE": -4023,
|
|
315
|
+
"PRICE_LOWER_THAN_MULTIPLIER_DOWN": -4024,
|
|
316
|
+
"INVALID_LEVERAGE": -4028,
|
|
317
|
+
"MAX_STOP_ORDER_EXCEEDED": -4045,
|
|
318
|
+
"NO_NEED_TO_CHANGE_MARGIN_TYPE": -4046,
|
|
319
|
+
"MARGIN_TYPE_BLOCKED_BY_OPEN_ORDERS": -4047,
|
|
320
|
+
"MARGIN_TYPE_BLOCKED_BY_POSITION": -4048,
|
|
321
|
+
"NO_NEED_TO_CHANGE_POSITION_SIDE": -4059,
|
|
322
|
+
"POSITION_SIDE_NOT_MATCH": -4061,
|
|
323
|
+
"REDUCE_ONLY_CONFLICT": -4062,
|
|
324
|
+
"REDUCE_ONLY_ORDER_PERMISSION": -4087,
|
|
325
|
+
"SYMBOL_REDUCE_ONLY": -4105,
|
|
326
|
+
"SYMBOL_REDUCE_ONLY_BUY": -4106,
|
|
327
|
+
"SYMBOL_REDUCE_ONLY_SELL": -4107,
|
|
328
|
+
"INACTIVE_ACCOUNT": -4109,
|
|
329
|
+
"DUPLICATED_CLIENT_ORDER_ID": -4116,
|
|
330
|
+
"REDUCE_ONLY_MARGIN_CHECK_FAILED": -4118,
|
|
331
|
+
"STOP_ORDER_SWITCH_ALGO": -4120,
|
|
332
|
+
"MARKET_ORDER_REJECT": -4131,
|
|
333
|
+
"QUANTITY_EXISTS_WITH_CLOSE_POSITION": -4137,
|
|
334
|
+
"REDUCE_ONLY_MUST_BE_TRUE": -4138,
|
|
335
|
+
"INVALID_OPENING_POSITION_STATUS": -4140,
|
|
336
|
+
"STRATEGY_INVALID_TRIGGER_PRICE": -4142,
|
|
337
|
+
"ISOLATED_LEVERAGE_REJECT_WITH_POSITION": -4161,
|
|
338
|
+
"MIN_NOTIONAL": -4164,
|
|
339
|
+
"PRICE_HIGHER_THAN_STOP_MULTIPLIER_UP": -4183,
|
|
340
|
+
"PRICE_LOWER_THAN_STOP_MULTIPLIER_DOWN": -4184,
|
|
341
|
+
"ACCOUNT_REDUCE_ONLY": -4189,
|
|
342
|
+
"ADJUST_LEVERAGE_ONE_MONTH_FAILED": -4203,
|
|
343
|
+
"ADJUST_LEVERAGE_X_DAYS_FAILED": -4205,
|
|
344
|
+
"ADJUST_LEVERAGE_SYMBOL_FAILED": -4209,
|
|
345
|
+
"STOP_PRICE_HIGHER_THAN_PRICE_MULTIPLIER_LIMIT": -4210,
|
|
346
|
+
"STOP_PRICE_LOWER_THAN_PRICE_MULTIPLIER_LIMIT": -4211,
|
|
347
|
+
"ADJUST_LEVERAGE_COMPLIANCE_FAILED": -4403,
|
|
348
|
+
"FOK_ORDER_REJECT": -5021,
|
|
349
|
+
"GTX_ORDER_REJECT": -5022,
|
|
350
|
+
"ME_RECVWINDOW_REJECT": -5028,
|
|
351
|
+
"MODIFICATION_MIN_NOTIONAL": -5029
|
|
352
|
+
}
|
|
353
|
+
};
|
|
78
354
|
|
|
79
355
|
// lib/constants.ts
|
|
80
356
|
var MS_PER_SECOND = 1e3;
|
|
@@ -115,6 +391,7 @@ var HTTP_STATUS = {
|
|
|
115
391
|
CONTENT_TOO_LARGE: 413,
|
|
116
392
|
URI_TOO_LONG: 414,
|
|
117
393
|
UNSUPPORTED_MEDIA_TYPE: 415,
|
|
394
|
+
IM_A_TEAPOT: 418,
|
|
118
395
|
UNPROCESSABLE_CONTENT: 422,
|
|
119
396
|
TOO_EARLY: 425,
|
|
120
397
|
TOO_MANY_REQUESTS: 429,
|
|
@@ -148,6 +425,37 @@ var AI_SNAPSHOT_PACKED_ENTRY_FIELDS = AI_SNAPSHOT_WIRE_FORMAT.packed_entry_field
|
|
|
148
425
|
var MT5_SYNTHETIC_LEG_ID_BASE = 2 ** 52;
|
|
149
426
|
var MT5_SYNTHETIC_LEG_KINDS = 2;
|
|
150
427
|
var MT5_SYNTHETIC_LEG_OPENING_LIMIT = (2 ** 53 - MT5_SYNTHETIC_LEG_ID_BASE) / MT5_SYNTHETIC_LEG_KINDS;
|
|
428
|
+
var BINANCE_USER_TRADES_WINDOW_MS = DAYS_PER_WEEK * MS_PER_DAY;
|
|
429
|
+
var BINANCE_ALL_ORDERS_WINDOW_MS = DAYS_PER_WEEK * MS_PER_DAY;
|
|
430
|
+
var BINANCE_REQUESTS = BINANCE_REQUEST_CONTRACT;
|
|
431
|
+
var BINANCE_KLINES_LIMIT_MAX = BINANCE_REQUESTS.klines.limit_max;
|
|
432
|
+
var BINANCE_REQUEST_WEIGHT_WINDOW_MS = BINANCE_REQUESTS.apis.futures.weight_window_seconds * MS_PER_SECOND;
|
|
433
|
+
var BINANCE_REQUEST_WEIGHT_INTERVAL = BINANCE_REQUESTS.weight_interval;
|
|
434
|
+
var binanceApiLimits = (api) => ({
|
|
435
|
+
weightPerWindow: api.weight_per_window,
|
|
436
|
+
orders: api.orders.map((order) => ({ interval: order.interval, windowMs: order.window_seconds * MS_PER_SECOND, limit: order.limit }))
|
|
437
|
+
});
|
|
438
|
+
var BINANCE_REQUEST_LIMITS = {
|
|
439
|
+
futures: binanceApiLimits(BINANCE_REQUESTS.apis.futures),
|
|
440
|
+
spot: binanceApiLimits(BINANCE_REQUESTS.apis.spot)
|
|
441
|
+
};
|
|
442
|
+
var BINANCE_KLINES_DEFAULT_LIMIT = BINANCE_REQUESTS.klines.default_limit;
|
|
443
|
+
var BINANCE_KLINES_WEIGHT_TIERS = BINANCE_REQUESTS.klines.weight_tiers.map(
|
|
444
|
+
(tier) => ({ maxLimit: tier.max_limit, weight: tier.weight })
|
|
445
|
+
);
|
|
446
|
+
var binanceCostSpec = (cost) => ({
|
|
447
|
+
...cost.weight !== void 0 ? { weight: cost.weight } : {},
|
|
448
|
+
...cost.weight_all_symbols !== void 0 ? { weightAllSymbols: cost.weight_all_symbols } : {},
|
|
449
|
+
...cost.weight_by_klines_limit ? { weightByLimit: BINANCE_KLINES_WEIGHT_TIERS } : {},
|
|
450
|
+
...cost.orders ? { orders: cost.orders } : {},
|
|
451
|
+
...cost.used_weight_header_unreliable ? { usedWeightHeaderUnreliable: true } : {}
|
|
452
|
+
});
|
|
453
|
+
var binanceCosts = (costs) => Object.fromEntries(Object.entries(costs).map(([request, cost]) => [request, binanceCostSpec(cost)]));
|
|
454
|
+
var BINANCE_REQUEST_COSTS = {
|
|
455
|
+
futures: binanceCosts(BINANCE_REQUESTS.costs.futures),
|
|
456
|
+
spot: binanceCosts(BINANCE_REQUESTS.costs.spot)
|
|
457
|
+
};
|
|
458
|
+
var BINANCE_ERROR_CODE = BINANCE_ERROR_CODES.codes;
|
|
151
459
|
|
|
152
460
|
// lib/runtime-policy.generated.json
|
|
153
461
|
var runtime_policy_generated_default = {
|
|
@@ -185,6 +493,11 @@ var runtime_policy_generated_default = {
|
|
|
185
493
|
account_read_backoff_exponent_max: 30,
|
|
186
494
|
ai_start_grace_min_ms: 45e3
|
|
187
495
|
},
|
|
496
|
+
server_read_recovery: {
|
|
497
|
+
retry_delay_ms: 1500,
|
|
498
|
+
max_attempts: 3,
|
|
499
|
+
attempts_window_ms: 6e4
|
|
500
|
+
},
|
|
188
501
|
deployment_reload_observability: {
|
|
189
502
|
bootstrap_max_error_events_per_page: 4,
|
|
190
503
|
bootstrap_max_profiles: 10
|
|
@@ -504,6 +817,7 @@ var runtime_policy_generated_default = {
|
|
|
504
817
|
display_batch_size: 50,
|
|
505
818
|
load_more_threshold_px: 100,
|
|
506
819
|
trade_history_fetch_page_size: 100,
|
|
820
|
+
exchange_key_read_days: 6,
|
|
507
821
|
ai_panel_interaction_window_ms: 2500,
|
|
508
822
|
ai_panel_defer_max_staleness_ms: 1e4,
|
|
509
823
|
ai_panel_defer_retry_ms: 1500,
|
|
@@ -949,6 +1263,7 @@ var runtime_policy_generated_default = {
|
|
|
949
1263
|
device_rounds_per_sweep: 4
|
|
950
1264
|
},
|
|
951
1265
|
panel_reads: {
|
|
1266
|
+
exchange_key_refresh_seconds: 15,
|
|
952
1267
|
device_open_orders_reuse_seconds: 2,
|
|
953
1268
|
all_view_profile_concurrency: 2,
|
|
954
1269
|
display_account_fresh_seconds: 60
|
|
@@ -1060,6 +1375,11 @@ var runtime_policy_generated_default = {
|
|
|
1060
1375
|
},
|
|
1061
1376
|
defaults: {
|
|
1062
1377
|
server_ai_max_slippage: 5
|
|
1378
|
+
},
|
|
1379
|
+
server_runtime_host: {
|
|
1380
|
+
server_executors: {
|
|
1381
|
+
idle_seconds: 3600
|
|
1382
|
+
}
|
|
1063
1383
|
}
|
|
1064
1384
|
},
|
|
1065
1385
|
agent_cli: {
|
|
@@ -1091,6 +1411,181 @@ var runtime_policy_generated_default = {
|
|
|
1091
1411
|
device_portfolio: {
|
|
1092
1412
|
device_retry_seconds: 300
|
|
1093
1413
|
},
|
|
1414
|
+
lighter: {
|
|
1415
|
+
flow_kinds: [
|
|
1416
|
+
"deposit",
|
|
1417
|
+
"withdraw",
|
|
1418
|
+
"L2TransferInflow",
|
|
1419
|
+
"L2TransferOutflow",
|
|
1420
|
+
"L2SelfTransfer",
|
|
1421
|
+
"L2MintSharesOutflow",
|
|
1422
|
+
"L2BurnSharesInflow",
|
|
1423
|
+
"L2ForceBurnSharesInflow",
|
|
1424
|
+
"L1BurnSharesInflow",
|
|
1425
|
+
"L2CreatePublicPoolOutflow"
|
|
1426
|
+
],
|
|
1427
|
+
max_transfers: 100,
|
|
1428
|
+
device_retry_seconds: 300,
|
|
1429
|
+
device_batches_per_read: 10
|
|
1430
|
+
},
|
|
1431
|
+
okx: {
|
|
1432
|
+
flow_bill_types: [
|
|
1433
|
+
"1"
|
|
1434
|
+
],
|
|
1435
|
+
max_transfers: 100,
|
|
1436
|
+
device_retry_seconds: 300,
|
|
1437
|
+
device_batches_per_read: 10
|
|
1438
|
+
},
|
|
1439
|
+
binance: {
|
|
1440
|
+
flow_income_types: [
|
|
1441
|
+
"TRANSFER",
|
|
1442
|
+
"INTERNAL_TRANSFER",
|
|
1443
|
+
"STRATEGY_UMFUTURES_TRANSFER",
|
|
1444
|
+
"CROSS_COLLATERAL_TRANSFER",
|
|
1445
|
+
"COIN_SWAP_DEPOSIT",
|
|
1446
|
+
"COIN_SWAP_WITHDRAW",
|
|
1447
|
+
"AUTO_EXCHANGE"
|
|
1448
|
+
],
|
|
1449
|
+
funding_income_types: [
|
|
1450
|
+
"FUNDING_FEE"
|
|
1451
|
+
],
|
|
1452
|
+
trade_income_types: [
|
|
1453
|
+
"REALIZED_PNL",
|
|
1454
|
+
"COMMISSION"
|
|
1455
|
+
],
|
|
1456
|
+
max_transfers: 1e3,
|
|
1457
|
+
device_retry_seconds: 300,
|
|
1458
|
+
device_batches_per_read: 10
|
|
1459
|
+
},
|
|
1460
|
+
bitget: {
|
|
1461
|
+
flow_business_types: [
|
|
1462
|
+
"trans_from_exchange",
|
|
1463
|
+
"trans_to_exchange",
|
|
1464
|
+
"trans_from_contract",
|
|
1465
|
+
"trans_to_contract",
|
|
1466
|
+
"trans_from_otc",
|
|
1467
|
+
"trans_to_otc",
|
|
1468
|
+
"trans_from_cross",
|
|
1469
|
+
"trans_to_cross",
|
|
1470
|
+
"trans_from_isolated",
|
|
1471
|
+
"trans_to_isolated"
|
|
1472
|
+
],
|
|
1473
|
+
max_transfers: 1e3,
|
|
1474
|
+
device_retry_seconds: 300,
|
|
1475
|
+
device_batches_per_read: 10
|
|
1476
|
+
},
|
|
1477
|
+
mexc: {
|
|
1478
|
+
flow_transfer_types: [
|
|
1479
|
+
"IN",
|
|
1480
|
+
"OUT"
|
|
1481
|
+
],
|
|
1482
|
+
max_transfers: 100,
|
|
1483
|
+
device_retry_seconds: 300,
|
|
1484
|
+
device_batches_per_read: 10
|
|
1485
|
+
},
|
|
1486
|
+
coinbase_intl: {
|
|
1487
|
+
flow_log_types: [
|
|
1488
|
+
"deposit",
|
|
1489
|
+
"withdrawal",
|
|
1490
|
+
"transfer",
|
|
1491
|
+
"swap"
|
|
1492
|
+
],
|
|
1493
|
+
max_transfers: 1e3,
|
|
1494
|
+
device_retry_seconds: 300,
|
|
1495
|
+
device_batches_per_read: 10
|
|
1496
|
+
},
|
|
1497
|
+
kraken_futures: {
|
|
1498
|
+
flow_infos: [
|
|
1499
|
+
"deposit",
|
|
1500
|
+
"withdrawal",
|
|
1501
|
+
"transfer",
|
|
1502
|
+
"cross-exchange transfer",
|
|
1503
|
+
"cross-exchange transfer failed",
|
|
1504
|
+
"subaccount transfer",
|
|
1505
|
+
"admin transfer"
|
|
1506
|
+
],
|
|
1507
|
+
flow_assets: [
|
|
1508
|
+
"USD",
|
|
1509
|
+
"USDC",
|
|
1510
|
+
"USDT"
|
|
1511
|
+
],
|
|
1512
|
+
max_transfers: 1e3,
|
|
1513
|
+
device_retry_seconds: 300,
|
|
1514
|
+
device_batches_per_read: 10
|
|
1515
|
+
},
|
|
1516
|
+
aster: {
|
|
1517
|
+
flow_income_types: [
|
|
1518
|
+
"TRANSFER",
|
|
1519
|
+
"INTERNAL_TRANSFER",
|
|
1520
|
+
"CROSS_COLLATERAL_TRANSFER",
|
|
1521
|
+
"AUTO_EXCHANGE"
|
|
1522
|
+
],
|
|
1523
|
+
funding_income_types: [
|
|
1524
|
+
"FUNDING_FEE"
|
|
1525
|
+
],
|
|
1526
|
+
trade_income_types: [
|
|
1527
|
+
"REALIZED_PNL",
|
|
1528
|
+
"COMMISSION"
|
|
1529
|
+
],
|
|
1530
|
+
max_transfers: 1e3,
|
|
1531
|
+
device_retry_seconds: 300,
|
|
1532
|
+
device_batches_per_read: 10
|
|
1533
|
+
},
|
|
1534
|
+
kucoin_futures: {
|
|
1535
|
+
flow_ledger_types: [
|
|
1536
|
+
"Deposit",
|
|
1537
|
+
"Withdrawal",
|
|
1538
|
+
"TransferIn",
|
|
1539
|
+
"TransferOut"
|
|
1540
|
+
],
|
|
1541
|
+
max_transfers: 1e3,
|
|
1542
|
+
device_retry_seconds: 300,
|
|
1543
|
+
device_batches_per_read: 10
|
|
1544
|
+
},
|
|
1545
|
+
bybit: {
|
|
1546
|
+
flow_transaction_types: [
|
|
1547
|
+
"TRANSFER_IN",
|
|
1548
|
+
"TRANSFER_OUT",
|
|
1549
|
+
"BONUS_TRANSFER_IN",
|
|
1550
|
+
"BONUS_TRANSFER_OUT",
|
|
1551
|
+
"PEF_TRANSFER_IN",
|
|
1552
|
+
"PEF_TRANSFER_OUT",
|
|
1553
|
+
"FLEXIBLE_STAKING_SUBSCRIPTION",
|
|
1554
|
+
"FLEXIBLE_STAKING_REDEMPTION",
|
|
1555
|
+
"FLEXIBLE_STAKING_REFUND",
|
|
1556
|
+
"FIXED_STAKING_SUBSCRIPTION",
|
|
1557
|
+
"FIXED_STAKING_REFUND",
|
|
1558
|
+
"FIXED_SAVING_PRINCIPAL_REDEMPTION",
|
|
1559
|
+
"ONCHAINEARN_SUBSCRIPTION",
|
|
1560
|
+
"ONCHAINEARN_REDEMPTION",
|
|
1561
|
+
"ONCHAINEARN_REFUND",
|
|
1562
|
+
"STRUCTURE_PRODUCT_SUBSCRIPTION",
|
|
1563
|
+
"STRUCTURE_PRODUCT_REFUND",
|
|
1564
|
+
"CLASSIC_WEALTH_MANAGEMENT_SUBSCRIPTION",
|
|
1565
|
+
"PREMIMUM_WEALTH_MANAGEMENT_SUBSCRIPTION",
|
|
1566
|
+
"PREMIMUM_WEALTH_MANAGEMENT_REFUND",
|
|
1567
|
+
"LIQUIDITY_MINING_SUBSCRIPTION",
|
|
1568
|
+
"LIQUIDITY_MINING_REFUND",
|
|
1569
|
+
"PWM_SUBSCRIPTION",
|
|
1570
|
+
"PWM_REFUND",
|
|
1571
|
+
"BYUSDT_MINT",
|
|
1572
|
+
"BYUSDT_REDEMPTION",
|
|
1573
|
+
"STOCK_TRADE_BUY",
|
|
1574
|
+
"STOCK_TRADE_SELL",
|
|
1575
|
+
"STOCK_TRADE_REFUND"
|
|
1576
|
+
],
|
|
1577
|
+
max_transfers: 50,
|
|
1578
|
+
device_retry_seconds: 300,
|
|
1579
|
+
device_batches_per_read: 10
|
|
1580
|
+
},
|
|
1581
|
+
bingx: {
|
|
1582
|
+
flow_income_types: [
|
|
1583
|
+
"TRANSFER"
|
|
1584
|
+
],
|
|
1585
|
+
max_transfers: 1e3,
|
|
1586
|
+
device_retry_seconds: 300,
|
|
1587
|
+
device_batches_per_read: 10
|
|
1588
|
+
},
|
|
1094
1589
|
max_page_size: 100
|
|
1095
1590
|
},
|
|
1096
1591
|
external_inference: {
|
|
@@ -1415,6 +1910,23 @@ var runtime_policy_generated_default = {
|
|
|
1415
1910
|
background: 6
|
|
1416
1911
|
},
|
|
1417
1912
|
display_name: "Hyperliquid",
|
|
1913
|
+
short_code: "HYP",
|
|
1914
|
+
candle_timeframes: [
|
|
1915
|
+
"1m",
|
|
1916
|
+
"5m",
|
|
1917
|
+
"15m",
|
|
1918
|
+
"30m",
|
|
1919
|
+
"1h",
|
|
1920
|
+
"4h",
|
|
1921
|
+
"1d",
|
|
1922
|
+
"1w"
|
|
1923
|
+
],
|
|
1924
|
+
client_surfaces: [
|
|
1925
|
+
"browser",
|
|
1926
|
+
"desktop",
|
|
1927
|
+
"android",
|
|
1928
|
+
"agent_token"
|
|
1929
|
+
],
|
|
1418
1930
|
account_stream_backoff: {
|
|
1419
1931
|
initial_seconds: 1,
|
|
1420
1932
|
max_seconds: 15,
|
|
@@ -1424,7 +1936,8 @@ var runtime_policy_generated_default = {
|
|
|
1424
1936
|
},
|
|
1425
1937
|
websocket: {
|
|
1426
1938
|
ping_interval_seconds: 20,
|
|
1427
|
-
account_open_timeout_seconds: 10
|
|
1939
|
+
account_open_timeout_seconds: 10,
|
|
1940
|
+
ticker_cache_ttl_seconds: 60
|
|
1428
1941
|
},
|
|
1429
1942
|
node: {
|
|
1430
1943
|
max_info_lag_milliseconds: 1e3
|
|
@@ -1433,6 +1946,29 @@ var runtime_policy_generated_default = {
|
|
|
1433
1946
|
default_dex_label: "Hyperliquid"
|
|
1434
1947
|
}
|
|
1435
1948
|
},
|
|
1949
|
+
fleet_recovery: {
|
|
1950
|
+
permit_lease_seconds: 8,
|
|
1951
|
+
recovery_initial_concurrency: 1,
|
|
1952
|
+
recovery_max_concurrency: 8,
|
|
1953
|
+
recovery_successes_per_step: 4,
|
|
1954
|
+
recovery_min_spacing_ms: 100,
|
|
1955
|
+
queue_poll_ms: 50,
|
|
1956
|
+
fallback_max_seconds: 300,
|
|
1957
|
+
fallback_jitter_min_factor: 0.5,
|
|
1958
|
+
recovery_quiet_seconds: 300,
|
|
1959
|
+
failed_probe_delay_seconds: 2,
|
|
1960
|
+
hit_claim_milliseconds: 2e3
|
|
1961
|
+
},
|
|
1962
|
+
account_rules: {
|
|
1963
|
+
usd_stable_assets: [
|
|
1964
|
+
"USD",
|
|
1965
|
+
"USDC",
|
|
1966
|
+
"USDT",
|
|
1967
|
+
"USDT0",
|
|
1968
|
+
"USDH",
|
|
1969
|
+
"USDe"
|
|
1970
|
+
]
|
|
1971
|
+
},
|
|
1436
1972
|
executor: {
|
|
1437
1973
|
capabilities: [
|
|
1438
1974
|
"market_orders",
|
|
@@ -1446,8 +1982,604 @@ var runtime_policy_generated_default = {
|
|
|
1446
1982
|
"trailing_stops"
|
|
1447
1983
|
]
|
|
1448
1984
|
},
|
|
1985
|
+
bound_accounts: {
|
|
1986
|
+
recheck_seconds: 900
|
|
1987
|
+
},
|
|
1988
|
+
observability: {
|
|
1989
|
+
operations: [
|
|
1990
|
+
"order",
|
|
1991
|
+
"cancel",
|
|
1992
|
+
"modify",
|
|
1993
|
+
"leverage",
|
|
1994
|
+
"close",
|
|
1995
|
+
"account_read",
|
|
1996
|
+
"positions_read",
|
|
1997
|
+
"orders_read",
|
|
1998
|
+
"fills_read",
|
|
1999
|
+
"market_read",
|
|
2000
|
+
"candles_read",
|
|
2001
|
+
"key_check",
|
|
2002
|
+
"stream"
|
|
2003
|
+
],
|
|
2004
|
+
heartbeat_max_entries: 24,
|
|
2005
|
+
endpoint_max_length: 96,
|
|
2006
|
+
error_code_max_length: 32,
|
|
2007
|
+
error_name_max_length: 64,
|
|
2008
|
+
detail_max_entries: 8
|
|
2009
|
+
},
|
|
2010
|
+
lighter: {
|
|
2011
|
+
account_display_fresh_seconds: 120,
|
|
2012
|
+
display_name: "Lighter",
|
|
2013
|
+
key_name: "key",
|
|
2014
|
+
short_code: "LIG",
|
|
2015
|
+
candle_timeframes: [
|
|
2016
|
+
"1m",
|
|
2017
|
+
"5m",
|
|
2018
|
+
"15m",
|
|
2019
|
+
"30m",
|
|
2020
|
+
"1h",
|
|
2021
|
+
"4h",
|
|
2022
|
+
"1d"
|
|
2023
|
+
],
|
|
2024
|
+
client_surfaces: [
|
|
2025
|
+
"browser",
|
|
2026
|
+
"desktop",
|
|
2027
|
+
"android",
|
|
2028
|
+
"agent_token"
|
|
2029
|
+
],
|
|
2030
|
+
collateral_asset: "USDC",
|
|
2031
|
+
markets_cache_seconds: 3600,
|
|
2032
|
+
order_expiry_days: 28,
|
|
2033
|
+
order_renew_days_before_expiry: 7,
|
|
2034
|
+
remembered_order_ids: 5e3,
|
|
2035
|
+
ended_order_search_retry_seconds: 300,
|
|
2036
|
+
tx_readback_attempts: 10,
|
|
2037
|
+
tx_readback_interval_milliseconds: 300,
|
|
2038
|
+
auth_token_renew_margin_seconds: 300,
|
|
2039
|
+
fill_lookback_hours: 72,
|
|
2040
|
+
client_request_capacity: {
|
|
2041
|
+
reserve_margin_requests: 6,
|
|
2042
|
+
demand_bucket_seconds: 60,
|
|
2043
|
+
demand_horizon_seconds: 3600,
|
|
2044
|
+
capacity_cut_percent: 70,
|
|
2045
|
+
capacity_min_requests: 6,
|
|
2046
|
+
capacity_recovery_requests_per_minute: 6,
|
|
2047
|
+
rate_limit_pause_seconds: 60,
|
|
2048
|
+
admission_wait_seconds: 10,
|
|
2049
|
+
background_admission_wait_seconds: 90,
|
|
2050
|
+
fleet_reserve_weight: {
|
|
2051
|
+
trading_reduce: 1,
|
|
2052
|
+
trading_reconcile: 2,
|
|
2053
|
+
trading_execute: 3,
|
|
2054
|
+
trading_analysis: 5,
|
|
2055
|
+
ui: 15,
|
|
2056
|
+
background: 20
|
|
2057
|
+
}
|
|
2058
|
+
}
|
|
2059
|
+
},
|
|
2060
|
+
binance: {
|
|
2061
|
+
account_display_fresh_seconds: 30,
|
|
2062
|
+
display_name: "Binance",
|
|
2063
|
+
key_name: "API key",
|
|
2064
|
+
short_code: "BIN",
|
|
2065
|
+
candle_timeframes: [
|
|
2066
|
+
"1m",
|
|
2067
|
+
"5m",
|
|
2068
|
+
"15m",
|
|
2069
|
+
"30m",
|
|
2070
|
+
"1h",
|
|
2071
|
+
"4h",
|
|
2072
|
+
"1d",
|
|
2073
|
+
"1w"
|
|
2074
|
+
],
|
|
2075
|
+
quote_asset: "USDT",
|
|
2076
|
+
markets_cache_seconds: 3600,
|
|
2077
|
+
recv_window_milliseconds: 5e3,
|
|
2078
|
+
fill_lookback_days: 7,
|
|
2079
|
+
client_request_capacity: {
|
|
2080
|
+
reserve_margin_weight: 100,
|
|
2081
|
+
demand_bucket_seconds: 60,
|
|
2082
|
+
demand_horizon_seconds: 3600,
|
|
2083
|
+
capacity_cut_percent: 70,
|
|
2084
|
+
capacity_min_weight: 480,
|
|
2085
|
+
capacity_recovery_weight_per_minute: 240,
|
|
2086
|
+
rate_limit_pause_seconds: 60,
|
|
2087
|
+
ip_ban_pause_seconds: 120,
|
|
2088
|
+
admission_wait_seconds: 10,
|
|
2089
|
+
background_admission_wait_seconds: 90,
|
|
2090
|
+
fleet_reserve_weight: {
|
|
2091
|
+
trading_reduce: 50,
|
|
2092
|
+
trading_reconcile: 75,
|
|
2093
|
+
trading_execute: 100,
|
|
2094
|
+
trading_analysis: 200,
|
|
2095
|
+
ui: 600,
|
|
2096
|
+
background: 800
|
|
2097
|
+
}
|
|
2098
|
+
},
|
|
2099
|
+
networks: {
|
|
2100
|
+
live: {
|
|
2101
|
+
client_surfaces: [
|
|
2102
|
+
"browser",
|
|
2103
|
+
"desktop",
|
|
2104
|
+
"android",
|
|
2105
|
+
"agent_token"
|
|
2106
|
+
]
|
|
2107
|
+
},
|
|
2108
|
+
testnet: {
|
|
2109
|
+
client_surfaces: [
|
|
2110
|
+
"desktop",
|
|
2111
|
+
"android",
|
|
2112
|
+
"agent_token"
|
|
2113
|
+
]
|
|
2114
|
+
}
|
|
2115
|
+
}
|
|
2116
|
+
},
|
|
2117
|
+
mexc: {
|
|
2118
|
+
account_display_fresh_seconds: 30,
|
|
2119
|
+
display_name: "MEXC",
|
|
2120
|
+
key_name: "API key",
|
|
2121
|
+
short_code: "MEX",
|
|
2122
|
+
candle_timeframes: [
|
|
2123
|
+
"1m",
|
|
2124
|
+
"5m",
|
|
2125
|
+
"15m",
|
|
2126
|
+
"30m",
|
|
2127
|
+
"1h",
|
|
2128
|
+
"4h",
|
|
2129
|
+
"1d",
|
|
2130
|
+
"1w"
|
|
2131
|
+
],
|
|
2132
|
+
quote_asset: "USDT",
|
|
2133
|
+
markets_cache_seconds: 3600,
|
|
2134
|
+
recv_window_seconds: 10,
|
|
2135
|
+
fill_lookback_days: 7,
|
|
2136
|
+
client_surfaces: [
|
|
2137
|
+
"desktop",
|
|
2138
|
+
"android",
|
|
2139
|
+
"agent_token"
|
|
2140
|
+
],
|
|
2141
|
+
remembered_order_ids: 5e3,
|
|
2142
|
+
ended_order_search_days: 7,
|
|
2143
|
+
ended_order_search_retry_seconds: 300,
|
|
2144
|
+
client_request_capacity: {
|
|
2145
|
+
reserve_margin_weight: 1,
|
|
2146
|
+
demand_bucket_seconds: 60,
|
|
2147
|
+
demand_horizon_seconds: 3600,
|
|
2148
|
+
capacity_cut_percent: 70,
|
|
2149
|
+
capacity_min_weight: 2,
|
|
2150
|
+
capacity_recovery_weight_per_minute: 20,
|
|
2151
|
+
admission_wait_seconds: 10,
|
|
2152
|
+
background_admission_wait_seconds: 30,
|
|
2153
|
+
fleet_reserve_weight: {
|
|
2154
|
+
trading_reduce: 1,
|
|
2155
|
+
trading_reconcile: 1,
|
|
2156
|
+
trading_execute: 1,
|
|
2157
|
+
trading_analysis: 2,
|
|
2158
|
+
ui: 3,
|
|
2159
|
+
background: 4
|
|
2160
|
+
}
|
|
2161
|
+
}
|
|
2162
|
+
},
|
|
2163
|
+
coinbase_intl: {
|
|
2164
|
+
client_request_capacity: {
|
|
2165
|
+
reserve_margin_requests: 2,
|
|
2166
|
+
demand_bucket_seconds: 60,
|
|
2167
|
+
demand_horizon_seconds: 3600,
|
|
2168
|
+
capacity_cut_percent: 70,
|
|
2169
|
+
capacity_min_requests: 2,
|
|
2170
|
+
capacity_recovery_requests_per_minute: 2,
|
|
2171
|
+
admission_wait_seconds: 10,
|
|
2172
|
+
background_admission_wait_seconds: 90,
|
|
2173
|
+
rate_limit_pause_seconds: 5,
|
|
2174
|
+
fleet_reserve_weight: {
|
|
2175
|
+
trading_reduce: 1,
|
|
2176
|
+
trading_reconcile: 1,
|
|
2177
|
+
trading_execute: 2,
|
|
2178
|
+
trading_analysis: 2,
|
|
2179
|
+
ui: 5,
|
|
2180
|
+
background: 6
|
|
2181
|
+
}
|
|
2182
|
+
},
|
|
2183
|
+
account_display_fresh_seconds: 30,
|
|
2184
|
+
quote_asset: "USDC",
|
|
2185
|
+
display_name: "Coinbase International",
|
|
2186
|
+
key_name: "API key name",
|
|
2187
|
+
short_code: "CBI",
|
|
2188
|
+
candle_timeframes: [
|
|
2189
|
+
"1m",
|
|
2190
|
+
"5m",
|
|
2191
|
+
"15m",
|
|
2192
|
+
"30m",
|
|
2193
|
+
"1h",
|
|
2194
|
+
"1d"
|
|
2195
|
+
],
|
|
2196
|
+
client_surfaces: [
|
|
2197
|
+
"desktop",
|
|
2198
|
+
"android",
|
|
2199
|
+
"agent_token"
|
|
2200
|
+
],
|
|
2201
|
+
request_timeout_seconds: 10,
|
|
2202
|
+
auth_renew_before_seconds: 60,
|
|
2203
|
+
auth_max_age_seconds: 900,
|
|
2204
|
+
write_window_seconds: 10,
|
|
2205
|
+
server_time_max_age_seconds: 300,
|
|
2206
|
+
markets_cache_seconds: 3600,
|
|
2207
|
+
fill_lookback_days: 7,
|
|
2208
|
+
fill_page_size: 1e3,
|
|
2209
|
+
remembered_order_ids: 5e3,
|
|
2210
|
+
ended_order_search_days: 7,
|
|
2211
|
+
ended_order_search_retry_seconds: 300
|
|
2212
|
+
},
|
|
2213
|
+
okx: {
|
|
2214
|
+
account_display_fresh_seconds: 30,
|
|
2215
|
+
display_name: "OKX",
|
|
2216
|
+
key_name: "API key",
|
|
2217
|
+
short_code: "OKX",
|
|
2218
|
+
candle_timeframes: [
|
|
2219
|
+
"1m",
|
|
2220
|
+
"5m",
|
|
2221
|
+
"15m",
|
|
2222
|
+
"30m",
|
|
2223
|
+
"1h",
|
|
2224
|
+
"4h",
|
|
2225
|
+
"1d",
|
|
2226
|
+
"1w"
|
|
2227
|
+
],
|
|
2228
|
+
settle_currency: "USDT",
|
|
2229
|
+
markets_cache_seconds: 3600,
|
|
2230
|
+
markets_miss_reread_seconds: 60,
|
|
2231
|
+
order_lifetime_milliseconds: 5e3,
|
|
2232
|
+
order_readback_attempts: 5,
|
|
2233
|
+
order_readback_interval_milliseconds: 200,
|
|
2234
|
+
remembered_order_ids: 5e3,
|
|
2235
|
+
ended_order_search_days: 7,
|
|
2236
|
+
ended_order_search_retry_seconds: 300,
|
|
2237
|
+
fill_lookback_hours: 71,
|
|
2238
|
+
client_request_capacity: {
|
|
2239
|
+
fleet_reserve_weight: {
|
|
2240
|
+
trading_reduce: 1,
|
|
2241
|
+
trading_reconcile: 1,
|
|
2242
|
+
trading_execute: 1,
|
|
2243
|
+
trading_analysis: 2,
|
|
2244
|
+
ui: 3,
|
|
2245
|
+
background: 5
|
|
2246
|
+
},
|
|
2247
|
+
reserve_margin_requests: 1,
|
|
2248
|
+
demand_bucket_seconds: 60,
|
|
2249
|
+
demand_horizon_seconds: 3600,
|
|
2250
|
+
capacity_cut_percent: 70,
|
|
2251
|
+
capacity_min_requests: 2,
|
|
2252
|
+
capacity_recovery_requests_per_minute: 2,
|
|
2253
|
+
admission_wait_seconds: 10,
|
|
2254
|
+
background_admission_wait_seconds: 90
|
|
2255
|
+
},
|
|
2256
|
+
networks: {
|
|
2257
|
+
live: {
|
|
2258
|
+
client_surfaces: [
|
|
2259
|
+
"browser",
|
|
2260
|
+
"desktop",
|
|
2261
|
+
"android",
|
|
2262
|
+
"agent_token"
|
|
2263
|
+
]
|
|
2264
|
+
},
|
|
2265
|
+
demo: {
|
|
2266
|
+
client_surfaces: [
|
|
2267
|
+
"browser",
|
|
2268
|
+
"desktop",
|
|
2269
|
+
"android",
|
|
2270
|
+
"agent_token"
|
|
2271
|
+
]
|
|
2272
|
+
}
|
|
2273
|
+
}
|
|
2274
|
+
},
|
|
2275
|
+
bingx: {
|
|
2276
|
+
account_display_fresh_seconds: 30,
|
|
2277
|
+
display_name: "BingX",
|
|
2278
|
+
key_name: "API key",
|
|
2279
|
+
short_code: "BGX",
|
|
2280
|
+
candle_timeframes: [
|
|
2281
|
+
"1m",
|
|
2282
|
+
"5m",
|
|
2283
|
+
"15m",
|
|
2284
|
+
"30m",
|
|
2285
|
+
"1h",
|
|
2286
|
+
"4h",
|
|
2287
|
+
"1d",
|
|
2288
|
+
"1w"
|
|
2289
|
+
],
|
|
2290
|
+
quote_asset: "USDT",
|
|
2291
|
+
markets_cache_seconds: 3600,
|
|
2292
|
+
recv_window_milliseconds: 5e3,
|
|
2293
|
+
fill_lookback_days: 7,
|
|
2294
|
+
client_request_capacity: {
|
|
2295
|
+
reserve_margin_requests: 50,
|
|
2296
|
+
demand_bucket_seconds: 60,
|
|
2297
|
+
demand_horizon_seconds: 3600,
|
|
2298
|
+
capacity_cut_percent: 70,
|
|
2299
|
+
capacity_min_requests: 100,
|
|
2300
|
+
capacity_recovery_requests_per_minute: 50,
|
|
2301
|
+
rate_limit_pause_seconds: 10,
|
|
2302
|
+
ip_ban_pause_seconds: 120,
|
|
2303
|
+
admission_wait_seconds: 10,
|
|
2304
|
+
background_admission_wait_seconds: 90,
|
|
2305
|
+
fleet_reserve_weight: {
|
|
2306
|
+
trading_reduce: 10,
|
|
2307
|
+
trading_reconcile: 15,
|
|
2308
|
+
trading_execute: 20,
|
|
2309
|
+
trading_analysis: 40,
|
|
2310
|
+
ui: 100,
|
|
2311
|
+
background: 125
|
|
2312
|
+
}
|
|
2313
|
+
},
|
|
2314
|
+
networks: {
|
|
2315
|
+
live: {
|
|
2316
|
+
client_surfaces: [
|
|
2317
|
+
"desktop",
|
|
2318
|
+
"android",
|
|
2319
|
+
"agent_token"
|
|
2320
|
+
]
|
|
2321
|
+
},
|
|
2322
|
+
vst: {
|
|
2323
|
+
client_surfaces: [
|
|
2324
|
+
"desktop",
|
|
2325
|
+
"android",
|
|
2326
|
+
"agent_token"
|
|
2327
|
+
]
|
|
2328
|
+
}
|
|
2329
|
+
}
|
|
2330
|
+
},
|
|
2331
|
+
bitget: {
|
|
2332
|
+
account_display_fresh_seconds: 30,
|
|
2333
|
+
display_name: "Bitget",
|
|
2334
|
+
key_name: "API key",
|
|
2335
|
+
short_code: "BIT",
|
|
2336
|
+
candle_timeframes: [
|
|
2337
|
+
"1m",
|
|
2338
|
+
"5m",
|
|
2339
|
+
"15m",
|
|
2340
|
+
"30m",
|
|
2341
|
+
"1h",
|
|
2342
|
+
"4h",
|
|
2343
|
+
"1d",
|
|
2344
|
+
"1w"
|
|
2345
|
+
],
|
|
2346
|
+
product_type: "USDT-FUTURES",
|
|
2347
|
+
quote_asset: "USDT",
|
|
2348
|
+
markets_cache_seconds: 3600,
|
|
2349
|
+
fill_lookback_days: 7,
|
|
2350
|
+
remembered_order_ids: 5e3,
|
|
2351
|
+
ended_order_search_days: 7,
|
|
2352
|
+
ended_order_search_retry_seconds: 300,
|
|
2353
|
+
old_open_order_search_seconds: 3600,
|
|
2354
|
+
client_request_capacity: {
|
|
2355
|
+
reserve_margin_weight: 2,
|
|
2356
|
+
demand_bucket_seconds: 60,
|
|
2357
|
+
demand_horizon_seconds: 3600,
|
|
2358
|
+
capacity_cut_percent: 70,
|
|
2359
|
+
capacity_min_weight: 4,
|
|
2360
|
+
capacity_recovery_weight_per_minute: 60,
|
|
2361
|
+
admission_wait_seconds: 10,
|
|
2362
|
+
background_admission_wait_seconds: 90,
|
|
2363
|
+
fleet_reserve_weight: {
|
|
2364
|
+
trading_reduce: 1,
|
|
2365
|
+
trading_reconcile: 1,
|
|
2366
|
+
trading_execute: 2,
|
|
2367
|
+
trading_analysis: 2,
|
|
2368
|
+
ui: 5,
|
|
2369
|
+
background: 6
|
|
2370
|
+
}
|
|
2371
|
+
},
|
|
2372
|
+
networks: {
|
|
2373
|
+
live: {
|
|
2374
|
+
client_surfaces: [
|
|
2375
|
+
"desktop",
|
|
2376
|
+
"android",
|
|
2377
|
+
"agent_token"
|
|
2378
|
+
]
|
|
2379
|
+
},
|
|
2380
|
+
demo: {
|
|
2381
|
+
client_surfaces: [
|
|
2382
|
+
"desktop",
|
|
2383
|
+
"android",
|
|
2384
|
+
"agent_token"
|
|
2385
|
+
]
|
|
2386
|
+
}
|
|
2387
|
+
}
|
|
2388
|
+
},
|
|
2389
|
+
kraken_futures: {
|
|
2390
|
+
account_display_fresh_seconds: 30,
|
|
2391
|
+
display_name: "Kraken Futures",
|
|
2392
|
+
key_name: "API key",
|
|
2393
|
+
short_code: "KRA",
|
|
2394
|
+
candle_timeframes: [
|
|
2395
|
+
"1m",
|
|
2396
|
+
"5m",
|
|
2397
|
+
"15m",
|
|
2398
|
+
"30m",
|
|
2399
|
+
"1h",
|
|
2400
|
+
"4h",
|
|
2401
|
+
"1d",
|
|
2402
|
+
"1w"
|
|
2403
|
+
],
|
|
2404
|
+
client_surfaces: [
|
|
2405
|
+
"desktop",
|
|
2406
|
+
"android",
|
|
2407
|
+
"agent_token"
|
|
2408
|
+
],
|
|
2409
|
+
markets_cache_seconds: 3600,
|
|
2410
|
+
fill_lookback_days: 7,
|
|
2411
|
+
history_pages_per_read: 10,
|
|
2412
|
+
funding_log_page_entries: 1e3,
|
|
2413
|
+
request_capacity: {
|
|
2414
|
+
reserve_margin_weight: 100,
|
|
2415
|
+
demand_bucket_seconds: 60,
|
|
2416
|
+
demand_horizon_seconds: 3600,
|
|
2417
|
+
capacity_cut_percent: 70,
|
|
2418
|
+
capacity_min_weight: 100,
|
|
2419
|
+
capacity_recovery_weight_per_minute: 50,
|
|
2420
|
+
derivatives_limit_pause_seconds: 10,
|
|
2421
|
+
history_limit_pause_seconds: 60,
|
|
2422
|
+
admission_wait_seconds: 5,
|
|
2423
|
+
background_admission_wait_seconds: 30
|
|
2424
|
+
}
|
|
2425
|
+
},
|
|
2426
|
+
aster: {
|
|
2427
|
+
account_display_fresh_seconds: 30,
|
|
2428
|
+
quote_asset: "USDT",
|
|
2429
|
+
display_name: "Aster",
|
|
2430
|
+
key_name: "API wallet",
|
|
2431
|
+
short_code: "AST",
|
|
2432
|
+
candle_timeframes: [
|
|
2433
|
+
"1m",
|
|
2434
|
+
"5m",
|
|
2435
|
+
"15m",
|
|
2436
|
+
"30m",
|
|
2437
|
+
"1h",
|
|
2438
|
+
"4h",
|
|
2439
|
+
"1d",
|
|
2440
|
+
"1w"
|
|
2441
|
+
],
|
|
2442
|
+
client_surfaces: [
|
|
2443
|
+
"browser",
|
|
2444
|
+
"desktop",
|
|
2445
|
+
"android",
|
|
2446
|
+
"agent_token"
|
|
2447
|
+
],
|
|
2448
|
+
markets_cache_seconds: 3600,
|
|
2449
|
+
fill_lookback_days: 7,
|
|
2450
|
+
client_request_capacity: {
|
|
2451
|
+
reserve_margin_weight: 100,
|
|
2452
|
+
demand_bucket_seconds: 60,
|
|
2453
|
+
demand_horizon_seconds: 3600,
|
|
2454
|
+
capacity_cut_percent: 70,
|
|
2455
|
+
capacity_min_weight: 480,
|
|
2456
|
+
capacity_recovery_weight_per_minute: 240,
|
|
2457
|
+
rate_limit_pause_seconds: 60,
|
|
2458
|
+
ip_ban_pause_seconds: 120,
|
|
2459
|
+
admission_wait_seconds: 10,
|
|
2460
|
+
background_admission_wait_seconds: 90,
|
|
2461
|
+
fleet_reserve_weight: {
|
|
2462
|
+
trading_reduce: 50,
|
|
2463
|
+
trading_reconcile: 75,
|
|
2464
|
+
trading_execute: 100,
|
|
2465
|
+
trading_analysis: 200,
|
|
2466
|
+
ui: 600,
|
|
2467
|
+
background: 800
|
|
2468
|
+
}
|
|
2469
|
+
}
|
|
2470
|
+
},
|
|
2471
|
+
kucoin_futures: {
|
|
2472
|
+
account_display_fresh_seconds: 30,
|
|
2473
|
+
display_name: "KuCoin Futures",
|
|
2474
|
+
key_name: "API key",
|
|
2475
|
+
short_code: "KUC",
|
|
2476
|
+
candle_timeframes: [
|
|
2477
|
+
"1m",
|
|
2478
|
+
"5m",
|
|
2479
|
+
"15m",
|
|
2480
|
+
"30m",
|
|
2481
|
+
"1h",
|
|
2482
|
+
"4h",
|
|
2483
|
+
"1d",
|
|
2484
|
+
"1w"
|
|
2485
|
+
],
|
|
2486
|
+
client_surfaces: [
|
|
2487
|
+
"desktop",
|
|
2488
|
+
"android",
|
|
2489
|
+
"agent_token"
|
|
2490
|
+
],
|
|
2491
|
+
settle_currency: "USDT",
|
|
2492
|
+
markets_cache_seconds: 3600,
|
|
2493
|
+
remembered_order_ids: 5e3,
|
|
2494
|
+
ended_order_search_days: 7,
|
|
2495
|
+
ended_order_search_retry_seconds: 300,
|
|
2496
|
+
client_request_capacity: {
|
|
2497
|
+
reserve_margin_weight: 100,
|
|
2498
|
+
demand_bucket_seconds: 60,
|
|
2499
|
+
demand_horizon_seconds: 3600,
|
|
2500
|
+
capacity_cut_percent: 70,
|
|
2501
|
+
capacity_min_weight: 200,
|
|
2502
|
+
capacity_recovery_weight_per_minute: 100,
|
|
2503
|
+
admission_wait_seconds: 10,
|
|
2504
|
+
background_admission_wait_seconds: 60,
|
|
2505
|
+
fleet_reserve_weight: {
|
|
2506
|
+
trading_reduce: 50,
|
|
2507
|
+
trading_reconcile: 75,
|
|
2508
|
+
trading_execute: 100,
|
|
2509
|
+
trading_analysis: 200,
|
|
2510
|
+
ui: 500,
|
|
2511
|
+
background: 700
|
|
2512
|
+
}
|
|
2513
|
+
}
|
|
2514
|
+
},
|
|
2515
|
+
bybit: {
|
|
2516
|
+
client_request_capacity: {
|
|
2517
|
+
reserve_margin_weight: 60,
|
|
2518
|
+
demand_bucket_seconds: 60,
|
|
2519
|
+
demand_horizon_seconds: 3600,
|
|
2520
|
+
capacity_cut_percent: 70,
|
|
2521
|
+
capacity_min_weight: 60,
|
|
2522
|
+
capacity_recovery_weight_per_minute: 60,
|
|
2523
|
+
admission_wait_seconds: 10,
|
|
2524
|
+
background_admission_wait_seconds: 60,
|
|
2525
|
+
fleet_reserve_weight: {
|
|
2526
|
+
trading_reduce: 15,
|
|
2527
|
+
trading_reconcile: 20,
|
|
2528
|
+
trading_execute: 25,
|
|
2529
|
+
trading_analysis: 50,
|
|
2530
|
+
ui: 150,
|
|
2531
|
+
background: 200
|
|
2532
|
+
}
|
|
2533
|
+
},
|
|
2534
|
+
display_name: "Bybit",
|
|
2535
|
+
key_name: "API key",
|
|
2536
|
+
short_code: "BYB",
|
|
2537
|
+
candle_timeframes: [
|
|
2538
|
+
"1m",
|
|
2539
|
+
"5m",
|
|
2540
|
+
"15m",
|
|
2541
|
+
"30m",
|
|
2542
|
+
"1h",
|
|
2543
|
+
"4h",
|
|
2544
|
+
"1d",
|
|
2545
|
+
"1w"
|
|
2546
|
+
],
|
|
2547
|
+
client_surfaces: [
|
|
2548
|
+
"browser",
|
|
2549
|
+
"desktop",
|
|
2550
|
+
"android",
|
|
2551
|
+
"agent_token"
|
|
2552
|
+
],
|
|
2553
|
+
settle_coin: "USDT",
|
|
2554
|
+
account_display_fresh_seconds: 30,
|
|
2555
|
+
markets_cache_seconds: 3600,
|
|
2556
|
+
recv_window_milliseconds: 5e3,
|
|
2557
|
+
order_readback_attempts: 5,
|
|
2558
|
+
order_readback_interval_milliseconds: 200,
|
|
2559
|
+
remembered_order_ids: 5e3,
|
|
2560
|
+
ended_order_search_days: 7,
|
|
2561
|
+
ended_order_search_retry_seconds: 300,
|
|
2562
|
+
fill_lookback_hours: 167
|
|
2563
|
+
},
|
|
1449
2564
|
mt5: {
|
|
1450
2565
|
display_name: "MetaTrader 5",
|
|
2566
|
+
short_code: "MT5",
|
|
2567
|
+
candle_timeframes: [
|
|
2568
|
+
"1m",
|
|
2569
|
+
"5m",
|
|
2570
|
+
"15m",
|
|
2571
|
+
"30m",
|
|
2572
|
+
"1h",
|
|
2573
|
+
"4h",
|
|
2574
|
+
"1d",
|
|
2575
|
+
"1w"
|
|
2576
|
+
],
|
|
2577
|
+
client_surfaces: [
|
|
2578
|
+
"browser",
|
|
2579
|
+
"desktop",
|
|
2580
|
+
"android",
|
|
2581
|
+
"agent_token"
|
|
2582
|
+
],
|
|
1451
2583
|
bridge_download_path: "/downloads/mt5/VtxBridge.ex5",
|
|
1452
2584
|
trading_enabled: true,
|
|
1453
2585
|
status_poll_seconds: 5,
|
|
@@ -1456,8 +2588,7 @@ var runtime_policy_generated_default = {
|
|
|
1456
2588
|
request_timeout_seconds: 15,
|
|
1457
2589
|
write_expires_after_seconds: 60,
|
|
1458
2590
|
deal_lookback_days: 7,
|
|
1459
|
-
deal_clock_allowance_seconds: 60
|
|
1460
|
-
stop_distance_margin: 0.5
|
|
2591
|
+
deal_clock_allowance_seconds: 60
|
|
1461
2592
|
},
|
|
1462
2593
|
cache: {
|
|
1463
2594
|
available_assets_ttl_seconds: 300,
|
|
@@ -1472,6 +2603,12 @@ var runtime_policy_generated_default = {
|
|
|
1472
2603
|
range_page_limit: 500
|
|
1473
2604
|
}
|
|
1474
2605
|
},
|
|
2606
|
+
observability: {
|
|
2607
|
+
hyperliquid_rollup: {
|
|
2608
|
+
enabled: true,
|
|
2609
|
+
exchange_latency_samples_per_minute: 200
|
|
2610
|
+
}
|
|
2611
|
+
},
|
|
1475
2612
|
external_news: {
|
|
1476
2613
|
benzinga: {
|
|
1477
2614
|
enabled: false
|