705f8b2c39
1. Caps retired: risk block mirrors the paper sentinels; sizing is the paper bot's 4%-of-equity (class_pct 0.04/0.12), floored at the venue's $1 min order (4% of a $22 book is $0.89 — sub-min stakes died at the gate). bankroll rebased to the real $22.28 equity; spend tracker reset (the confusing $35 is gone with the daily cap). 2. Price guard is now ABSOLUTE +0.05 (both books): 0.14→0.15 follows, 0.14→0.20 skips. The relative 5% blocked one-tick moves on cheap in-play books. 3. Pending-order registry: in-play 'delayed' holds are no longer cancelled at 20s — the executor hands them to state.pending_orders with full copy context; the heartbeat resolver adopts the fill whenever it lands (bets/my_pos/cash/ledger, TTL 600s → cancel + honest miss). Recovers Rune-Eaters-class holds (+$7.50 forfeited by the old cancel). 5 stub-client paths pass incl. adopt + expire. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
93 lines
2.9 KiB
JSON
93 lines
2.9 KiB
JSON
{
|
|
"mode": "live",
|
|
"_comment": "Live-test config, SECRET-FREE and committed. The Fly live worker (wwf-copybot-live, COPYBOT_ROLE=live) reads THIS file and takes secrets from env (LIVE_PRIVATE_KEY/LIVE_FUNDER_ADDRESS + LIVE_CONFIRM to arm). Mac use: cp -> config.live.json and fill live.*. RULES: bankroll_usd MUST equal actual equity at rebase time (the 1.4 cash-anchor checks state cash vs chain). 2026-07-10 USER decision: hard caps retired \u2014 sizing is paper-parity 4%-of-equity (floored at the venue $1 min order); follow set mirrors copybot.paper.json (Set E) so paper and live books stay comparable.",
|
|
"bankroll_usd": 22.28,
|
|
"bankroll_pct": 0.04,
|
|
"price_guard_abs": 0.05,
|
|
"taker_fee_rate": 0.03,
|
|
"discord_webhook": "",
|
|
"follow": {
|
|
"buy_only": true,
|
|
"min_their_usd": 25.0,
|
|
"per_wallet_min_usd": {
|
|
"0x41558102a796ba971c7567cad41c307e59f8fa41": 258.51,
|
|
"0xd96750bf8d941a8186e592b0ae6e096da66aa266": 122.32,
|
|
"0xe8ca3f758c93f44f3ec210542ab78afb7c0bcccb": 126.84,
|
|
"0xbadaf319415c17f28824a43ae0cd912b9d84d874": 44.98,
|
|
"0xd7d36345c4aab150e59577e360696b01d01d698b": 304.34,
|
|
"0x921433c93558b9a4ba807ec824d02aad7ea2ddbf": 295.32,
|
|
"0xa1d57d329227c75b12b09f927fb3d6d6ef8f1343": 320.95
|
|
},
|
|
"min_entry": 0.0,
|
|
"max_entry": 0.95,
|
|
"class_pct": {
|
|
"volume": 0.04,
|
|
"whale": 0.12
|
|
}
|
|
},
|
|
"risk": {
|
|
"max_trade_usd": 1000000.0,
|
|
"max_position_usd": 1000000.0,
|
|
"daily_spend_cap_usd": 1000000.0,
|
|
"max_total_exposure_usd": 1000000.0,
|
|
"max_open_positions": 1000,
|
|
"max_per_event": 0,
|
|
"min_price": 0.01,
|
|
"max_price": 0.95,
|
|
"min_order_usd": 1.0
|
|
},
|
|
"live": {
|
|
"private_key": "",
|
|
"funder_address": "",
|
|
"signature_type": 1,
|
|
"order_type": "FAK",
|
|
"auto_redeem": false,
|
|
"rpc_url": ""
|
|
},
|
|
"wallets": [
|
|
{
|
|
"wallet": "0x41558102a796ba971c7567cad41c307e59f8fa41",
|
|
"name": "LSB1",
|
|
"class": "volume",
|
|
"floor": 258.51
|
|
},
|
|
{
|
|
"wallet": "0xd96750bf8d941a8186e592b0ae6e096da66aa266",
|
|
"name": "imwalkinghere",
|
|
"class": "volume",
|
|
"floor": 122.32
|
|
},
|
|
{
|
|
"wallet": "0xe8ca3f758c93f44f3ec210542ab78afb7c0bcccb",
|
|
"name": "Kruto2027",
|
|
"class": "volume",
|
|
"floor": 126.84
|
|
},
|
|
{
|
|
"wallet": "0xbadaf319415c17f28824a43ae0cd912b9d84d874",
|
|
"name": "0xbadaf319",
|
|
"class": "volume",
|
|
"floor": 44.98
|
|
},
|
|
{
|
|
"wallet": "0xd7d36345c4aab150e59577e360696b01d01d698b",
|
|
"name": "gkmgkldfmg",
|
|
"class": "volume",
|
|
"floor": 304.34
|
|
},
|
|
{
|
|
"wallet": "0x921433c93558b9a4ba807ec824d02aad7ea2ddbf",
|
|
"name": "AIcAIc",
|
|
"class": "volume",
|
|
"floor": 295.32
|
|
},
|
|
{
|
|
"wallet": "0xa1d57d329227c75b12b09f927fb3d6d6ef8f1343",
|
|
"name": "1kto1m",
|
|
"class": "volume",
|
|
"floor": 320.95
|
|
}
|
|
],
|
|
"feed_path": "live/copybot_live_real.json",
|
|
"fill_log": "copybot_fills.live.jsonl"
|
|
} |