МидасФи · библия

Библия запуска · приватная бета

МидасФи

Общий пул на стейблах, маркет-мейкинг и ребейты на Polymarket, результат — по долям. Книга для друзей-тестеров и для нас самих: всё, что работает, что доказано живыми деньгами и что ещё нет.

05.10.2026BETAKENTSTART · 1e50a51 · 14:41 UTCкастодиальная модельдоход не гарантирован

Статус: прод открыт 28.09, чистый старт 01.10, приватная бета для друзей начинается 05.10; казна по ленте 64.24 $, площадка, распределитель и доли — 0; денег друзей в пуле ещё нет.

Эта книга — для двух читателей сразу: для друзей-бета-тестеров, которым владелец Сол покажет её перед первым взносом, и для нас самих как внутренний справочник. Поэтому тут всё: и как завести 30 $, и какие константы держат пул, и что мы ещё не доказали. Без мелкого шрифта. Каждое число взято из кода, боевой базы (только чтение) или документов docs/; чего не нашли — так и написано: «не найдено».

Источники сборки: четыре отчёта сборщиков от 05.10.2026 (хронология, продукт, константы, деньги/тест-план), сверенные куратором по первоисточникам: docs/STATE-BETAKENT-2026-10-05.md, docs/HANDOFF-PRIVATE-BETA-2026-10-01.md, docs/FINALSTAGECLON4-2026-09-30.md, docs/VYVOD-NE-PROSADKA-2026-10-05.md, git-история, боевая база refgate-test.db (имя историческое, это прод).

1Кто мы и что такое МидасФи

Простыми словами

МидасФи — это общий пул на стейблкоинах. Вы заводите USDT или USDC (от 30 $) через Telegram-бота @xcvnfro_bot («мидаспродакшн») и кабинет midasfi.ai420.live, деньги едут на площадку Polymarket, где наш движок делает маркет-мейкинг и собирает ребейты (вознаграждение площадки за выставленную ликвидность). Результат — прибыль или убыток — делится между участниками по долям пула. Прибыль видна в кабинете, вывод — заявкой из кабинета на ваш адрес.

Это торговля, а не вклад под процент. Доход не гарантирован. Убыток ложится на цену доли всех участников. Бот говорит это сам, в разделе «О проекте».

Делаем это трое: владелец Сол (деньги, выкатка, стопы), куратор (приёмка, разведка, эта книга) и агентная оркестрация (Claude Code и Codex, сотни запусков агентов). Проект живёт в репозитории poly-prodx с 29.07.2026 и вырос из предка MidasGate (05.07.2026).

Чуть глубже

Система состоит из трёх частей:

  • Кабинет и бот (refgate/) — регистрация, кошельки клиентов, окна пополнения, сторож приходов, свип на казну, доли, заявки на вывод, рефералка, Мана и ранги. Служба poly-prodx-refgate-X20prod.
  • Ядро пула (integration/) — NAV, выпуск долей, расчёт периода, комиссии, замки, лента (вечный журнал проводок). Деньги в ядре — только целые «атомы» (1 $ = 1 000 000 атомов), никаких float.
  • Фарм (polyfarm-core/) — движок маркет-мейкинга на Polymarket (polyfarm-live) и рубильник (polyfarm-ctl), который считает чистый результат и глушит движок при просадке.

Три закона, на которых всё держится: лента = цепь (журнал проводок обязан сходиться с балансами в блокчейне при каждом закрытии суток), отказ ≠ ноль (непрочитанное значение — это ошибка и остановка, а не «0»), деньги двигаются только внутри контура казна → площадка → распределитель.

Честно про хранение: модель кастодиальная. Ключи кошельков клиентов, казны и площадки — у оператора (подробно в разделе 4). Бот сам пишет в FAQ: «Где деньги? В общем пуле стратегии, доступ — у команды».

2Статус сейчас и стадия готовности

Замер 05.10.2026, 15:01–15:05 UTC.

ЧтоСостояниеЧем подтверждено
Продоткрыт с 28.09 ~19:55 UTC; код = снимок 2026-10-05-b9198d0служба активна с 14:41 05.10
Чистый старт01.10: площадка 0, доли 0, синтетики 0, казна = цепьлента, запись C6 chistyj-start-0110c, «ДВИНУТО, 4 проводки»
Казна (по ленте)64.24 $ (64.236336)hq_posting; до вывода владельца 05.10 09:07 было 120.71
Площадка Polymarket0 (usdc 0, позиции 0, pending 0, verified:true)дашборд фарма /api/hq
Распределитель0STATE §0, §2
Доли0STATE §2
Поток площадкизанесено 822.350179 = выведено 822.350179, в дороге 0/api/venue_flow, пересчёт по bridge_ops и venue_withdrawals сходится до атома
Закрытия суток17 строк 18.09–04.10 без дыр; последние 6 (29.09–04.10) — сами, в 00:00:02–04 UTChq_period_close
Сторож расчётапоследний акт — clear (29.09 05:00), расчёт не стоитhq_halt
Демоныwatcher, sweeper, payout, bridge, settlement, treasury-watch ×2, rpc-meter — живыdaemon_heartbeat
Фармвключён 05.10 09:14, точка отсчёта e0 = 0; движок ждёт депозитов («нет слотов», автоподъём каждые 5 мин)yieldmaxpro.log, polyfarm-ctl
Расход RPC (Ankr)6 зовов/час в простое, отказов 0; второй ключ подключён 05.10 08:37audit_log.rpc_meter_hour
Пользователи19 строк: 17 active, 2 pending_reg; живых с Telegram — 4; остальное — синтетика клона 4 с нулевыми долями; аккаунт владельца удалён 4-часовой уборкой, нужна перерегистрацияusers
Тестыrefgate 8157 зелёных / 30 красных (эталон, поимённо), core 991→999, root 1370VYVOD §, STATE §14
Деньги друзейещё не было; первой полуночи с ними не былоSTATE §10

Что работает: регистрация, кошельки, окна пополнения, сторож, свип, занос на площадку по 4 парам, закрытие суток, выпуск долей по цене 1, ранний вывод с штрафом, очередь выводов, межсетевые мосты казны, учёт потока площадки для фарма.

Что доказано живыми деньгами: 19 пунктов в разделе 6 (взносы на 4 парах, мосты, закрытие с деньгами, ранний вывод за 8 с, чистый старт, сторож долга).

Что не доказано: вывод без штрафа после кулдауна, фарм на чужих деньгах, первый внешний клиент, второй круг выпуска долей, рефка живыми деньгами, боевая тревога стопа. Полный список — раздел 6.

3Продукт и условия клиента

Боевые ручки (из боевой настройки службы, 05.10): минимальный взнос 30 $, окно пополнения 20 мин, не больше 5 окон в сутки, минимальный вывод 5 $, 4 часа на первый депозит после регистрации, magic-ссылка живёт 15 мин, лимита пула нет, золото ≤ 25 %, минимальный забор золота 20 $, пыль на казне 0.01 $, все паузы = 0.

3.1 Как начать

  1. Вход — из Telegram-бота: капча-пример, одноразовая magic-ссылка на сайт (15 мин), на сайте логин + пароль (минимум 8 знаков) + обязательная привязка Google Authenticator (2FA). KYC нет. Аккаунт = ваш Telegram. (refgate/src/texts.py:347-418, api.py:653-690)
  2. Приглашение. Личная ссылка t.me/<бот>?start=<код>, красивые коды, сайт /r/<код>. Окно «только по приглашению» (30 дней от 05.09) по расчёту закончилось 05.10; фактический порядок беты — друзья по приглашениям. (texts.py:920-994, config.py:1193-1203)
  3. Кошелёк. Сразу после регистрации создаётся ваш адрес (один во всех EVM-сетях); приватный ключ показывается в спойлере. Если недавно меняли 2FA — ключ выдадут через 24 ч. (texts.py:126-145, config.py:111)
  4. 4 часа на первый депозит. Иначе аккаунт удаляется уборкой неактивных (раз в 5 мин). Если на кошельке уже лежит ≥ 0.05 $, но записи депозита нет — аккаунт не удаляется, владельцу уходит крик, деньги разбирает человек. Админ из уборки не исключён: 05.10 она удалила аккаунт самого владельца. (config.py:522, run.py:170-300)

3.2 Пополнение

Сети и токены — ровно четыре пары: BSC USDT, Base USDC, Arbitrum USDT, Arbitrum USDC (refgate/src/networks.py:11-23). Polygon у системы есть только «глазами» казны и площадки — вносить туда нельзя, платить оттуда нельзя. Другие токены и сети — мимо системы: деньги остаются на вашем кошельке, не зачисляются.

Минимум 30 $ относится к сумме, отправляемой в проект. Меньше — статус below_min, деньги лежат на кошельке, бот пишет «столько в проект не отправляется, деньги никуда не делись». Активация аккаунта и отметка «приглашён» срабатывают уже от 0.05 $ — аккаунт «активен», а тела в пуле нет, пока не отправлено ≥ 30 $. Приход меньше 0.01 $ с чужого адреса вообще не проводится (пыль). (sweeper.py:499-518, watcher.py:870-905)

Окно приёма 20 минут. Сторож слушает ваш адрес только после нажатия «Включить приём / Пополнение» и только 20 минут, не больше 5 окон за скользящие 24 ч; шестое — отказ. Опрос раз в минуту; без окон — ноль вызовов к цепи. Перевод в последние секунды окна засчитывается по времени блока (доказано: Base, за 20 с до конца окна). (config.py:186-187, db.py:4250-4430)

Перевели вне окна? Автоматически не зачтётся. Дорога назад — кнопка «🔍 Проверить транзакцию»: пересканирует недавние блоки, делит те же 5 квот, не чаще 1 раза в минуту (отказ «слишком часто» — не «ничего не найдено»). Свой же исходящий перевод (например, выплата на тот же адрес) за депозит не принимается. (onchain.py:46, deposit_check.py)

«Отправить в проект» — отдельная кнопка. Сторож только записывает приход. Деньги уходят на казну, когда вы сами нажимаете «Отправить в проект» (или админ ставит свип за вас). Без нажатия — ни пула, ни долей. Свип берёт ровно записанную сумму, газ платит платформа (распределитель «капает» нативку на ваш кошелёк). (api.py:1402-1458, sweeper.py:1-8)

Комиссии мостов — кто платит:

  • Занос на площадку (казна → Polymarket): делится между теми, чьи деньги ехали, пропорционально; ваша часть вычитается из «ждущего» → чуть меньше долей. Живой замер 30.09: с 31 $ дошло 30.919–30.994 (0.02–0.26 %).
  • Межсетевой мост казны (Across основной, Relay запасной): комиссия ложится на всех держателей через цену доли; при пустом пуле — на платформу. На ленте: 1.50 $ «комиссии мостов, оплачены платформой».
  • Вывод с площадки (pUSD → USDT): разница «ушло − дошло» в расход пула. Замер: 30 pUSD → 29.90 USDT.

Предел одного заноса 1 000 000 $ (практически нет), порог автозаноса 5 $, в «мёртвом окне» 23:45–00:15 UTC заносы не едут. Лимит пула снят (POOL_CAP_USD=0): защиты «от слишком большого взноса» нет.

3.3 Доли и цена

  • Деньги работают сразу после доезда до площадки («теневой фарм»), но доли выпускаются только на границе суток 00:00 UTC по цене границы. (integration/cycle.py:~300-335)
  • Цена доли = NAV / доли. Первая цена = 1 (доказано 30.09: 123.838296 $ = 123.838296 доли). При нуле долей NAV обязан быть 0, иначе стоп.
  • Взнос, дающий 0 долей, — отказ; деньги ждут.
  • Теневой фарм (закон L11, скрытое условие): заработок первых часов до выпуска долей клиенту не идёт — делится пополам между проектом и уже существующими держателями; убыток этих часов целиком на проекте.
  • Мёртвое окно 23:45–~00:15 UTC: факты этого окна уходят в следующий период.

3.4 Прибыль, убыток, комиссии

  • Результат суток = ребейты + торговля − издержки. Убыток целиком ложится на цену доли всех держателей; при убытке комиссии с результата нет.
  • Прибыль: распределяется по долям; комиссия проекта персональная и берётся из вашей награды только с прироста выше вашей прежней отметки (high-water mark). У кого цена ниже отметки — не платит. (integration/distribution.py:~495-530)
  • Сколько: база 50 %, далее сдвиг по рангу («Ауре»): вы оставляете себе ранг % (40–60), проект берёт остальное. Старт — ранг 50 (50/50). Лестница: Смертный 40 → Мист 45 → Вакхант 50 → Эпопт 55 → Избранный 60. Ранг растёт Маной (+1 п.п. = 300 × 1.4^(ранг−50) Маны), Мана капает только при теле ≥ 50 $. Падает за ранний выход. (integration/referral.py:71-219, gamify.py)
  • Невостребованная награда: клиент, сделавший вывод ≥ 5 $ в сутках, теряет право на распределение за эти сутки (доли и тело остаются); его часть — 50 % казне, 50 % бонусом остальным. Отмена заявки право не возвращает. (eligibility.py:79, distribution.py:420-470)
  • Дань рефереру 5 % золотом раз в месяц — при комиссии с его приглашённых ≥ 500 $, ≥ 10 приглашённых, каждый из которых принёс проекту ≥ 30 $ комиссии, и собственном капитале ≥ 500 $. (hq_tribute.py:88)
  • Лидерборд — ники и титулы без сумм.

3.5 Выход

Два разных срока, не путать:

  • 48 часов — кулдаун от свипа. Отсчитывается от подтверждения отправки в проект (не от прихода на кошелёк и не от выпуска долей). До его конца деньги этого свипа выводить нельзя вообще; штраф тут ни при чём. Считается посуммно: старые деньги свободны, даже если рядом свежий занос. (config.py:93 COOLDOWN_HOURS_BY_LAW = 48, hq_rights.py:42-131)
  • 30 суток — замок тела. Штраф 10 % берётся с той части тела, которой меньше 30 пул-дней (возраст — разность календарных дней UTC, FIFO по партиям). (lockup.py:42-43, integration/lockup.py:59-60)

Фраза «вывод без штрафа после 48 ч» в документах говорит про кулдаун, а не про отмену штрафа. Правильно так: после 48 ч вывод возможен; штраф 10 % — только с тела младше 30 суток; прибыль выводится первой и без штрафа в любой момент; комиссия 1 % — с любого вывода.

Состав вывода (withdraw_request.py:~690-800):

  1. Запрошенная сумма делится на прибыльную часть (идёт первой, без замка и штрафа — закон L19) и тельную.
  2. Золото (по желанию): 0–25 % суммы шагом 5 %, только из прибыли, без штрафа и без 1 %; обратно в стейбл не меняется; покупается на бирже с проскальзыванием (~0.3 %); минимальный забор 20 $.
  3. Штраф 10 % — со стейбл-части тела младше 30 суток.
  4. Комиссия 1 % — со стейбл-части после штрафа, округление вниз. Пример: 100 $ целиком молодого тела → штраф 10.00, комиссия 0.90, на руки 89.10. Живой эталон 01.10: 30.00 → штраф 3.00, комиссия 0.27, на руки 26.73 USDT, выплата за 8 с.
  5. Все удержания видны в предпросмотре до нажатия.

Ещё о выходе:

  • Репутационный штраф (L3): касание тела младше 30 суток → ранг −2 п.п., прогресс Маны сгорает, Мана ×0.5 на 7 пул-дней; списывается при подаче заявки, отмена не возвращает. Дробить вывод бесполезно.
  • Минимум вывода 5 $. Вывод ≥ 5 $ снимает право на распределение суток (см. 3.4).
  • Куда: вы указываете сеть/токен/адрес из четырёх пар; можно на свой адрес пополнения. Polygon/pUSD клиенту не платится.
  • Защита: код 2FA на каждый вывод; после смены 2FA вывод, золото и ключ заперты 24 ч; 2FA отключить нельзя.
  • Очередь. Если распределителю нечем платить — заявка ждёт, баланс не списывается, владельцу уходит крик. Очередь оживает сама, старшая первой. Если деньги есть — секунды. Если нет — зависит от оператора: наполнение распределителя (вывод с площадки) ручное, по подтверждению владельца, SLA в коде нет. Одобренная заявка без единой оплаченной ноги автоотменяется через 24 ч, резерв возвращается.

3.6 Рефералка

  • Ставка — по рангу реферера: 2 / 3 / 4 / 6 / 8 %, от чистого дохода приглашённого за сутки, платится из доли проекта, не из кармана приглашённого; не больше личной комиссии приглашённого за период. (integration/referral.py:71-77, hq_referral.py)
  • Глубина — один уровень (PAID_UPLINE_DEPTH = 1).
  • Гейт на реферере: у него самого должно быть ≥ 50 $ под риском. Нет — начислений нет, сколько бы ни внёс приглашённый.
  • Начисляется кругом на границе суток; «созревания» нет (статус matured объявлен в схеме и не используется).
  • Рефка — отдельный карман: не фармит, не облагается замком, штрафом, Маной, рангом; в пул не переводится. Вывод — только на свой адрес пополнения, от 10 $, с 1 % операционной платы, не при открытом окне пополнения. Автовывод от 50 $ в коде не найден («ждёт отдельного слова владельца»).
  • Остатки синтетической рефки клона 4 зачищены 05.10 (60 строк → clawed_back).

3.7 Двадцать скрытых условий — списком

  1. Свип не автоматический: без «Отправить в проект» нет ни пула, ни долей.
  2. Минимум 30 $ — к сумме отправки; меньше лежит на кошельке; активация и «приглашён» — уже от 0.05 $.
  3. Окно приёма 20 мин, ≤ 5 в сутки; вне окна авто-зачёта нет, нужна кнопка «Проверить транзакцию» (1/мин, делит те же квоты).
  4. Другая сеть/токен (Polygon, BNB, ETH…) не зачисляются; отмены свипа не существует — вернуть можно только обычным выводом, 1 % платится в любом случае.
  5. Кулдаун 48 ч от подтверждения свипа — до его конца вывод запрещён.
  6. Доли только в 00:00 UTC; первые часы — теневой фарм, заработок не ваш. Внесли в 00:01 — ждёте почти сутки до долей и 48 ч до вывода.
  7. Замок тела 30 суток: штраф 10 % + комиссия 1 %; плюс −2 п.п. ранга, потеря прогресса Маны, ×0.5 Маны на 7 дней — при подаче заявки, отмена не возвращает.
  8. Любой вывод ≥ 5 $ в сутках отнимает награду за эти сутки (50/50 казне и остальным), отменой не возвращается.
  9. Комиссия проекта 40–60 % по рангу, не «всегда 50/50»; с прироста выше вашей отметки.
  10. Золото: только из прибыли, ≤ 25 %, шаг 5 %, обратно в стейбл нельзя, ~0.3 % проскальзывания, забор от 20 $.
  11. Комиссия моста: при заносе — с вас (меньше долей); ребалансировка казны — на всех через цену; при пустом пуле — на платформу.
  12. Нет гарантий дохода; убыток ложится на цену доли. Единственный живой замер фарма (17–19.08) — торговый результат около −18.5 $ при ребейте около +4 $ за три дня на ~356 $; фарм остановлен владельцем 19.08 и включён снова 05.10 (подробно в разделе 7).
  13. Очередь вывода: если у распределителя пусто — «выплатим по мере поступления» без срока; пополнение вручную; автоотмена одобренной заявки без ног через 24 ч.
  14. 2FA нельзя отключить; после перепривязки вывод/золото/ключ заперты 24 ч.
  15. Рефка: только если у реферера ≥ 50 $ под риском; выводится только на свой адрес пополнения от 10 $ с 1 % и не при открытом окне; один уровень.
  16. Аккаунт без депозита за 4 ч удаляется (даже админский); с ≥ 0.05 $ на кошельке — не удаляется, но деньги разбирает человек.
  17. Мёртвое окно 23:45–00:15 UTC: заносы не едут, факты уходят в следующий период.
  18. Тексты бота частично устарели: FAQ «досрочно — через поддержку», «первый месяц по приглашению» (по расчёту уже не действует).
  19. Лимит пула снят, защиты от слишком большого взноса нет.
  20. Паузы (BRIDGE/PAYOUT/SWEEPER/SETTLEMENT_PAUSED) в бою = 0, но существуют: под паузой свипера деньги лежат у вас, под паузой расчёта сутки не закрываются.

4Как ходят деньги

Кошелёк клиентаодин адрес во всех EVM-сетях (BSC, Base, Arbitrum) окно 20 мин · опрос 60 с Сторож (watcher)пишет приход в deposits, ждёт подтверждений клиент сам жмёт кнопку Свип «Отправить в проект»sweeper; ≥ 30 $, ровно записанное; газ — платформа свип на казну Казна 0x8eba…6900одновременно личный кошелёк владельца при необходимости Межсетевой мост казныAcross / Relay; ребаланс по парам; при пустом пуле — отказ демон заноса; не в 23:45–00:15 UTC Площадка PolymarketBSC USDT → Polygon USDC.e → pUSD на кошельке фарма деньги работают на площадке Фарм (polyfarm-core)маркет-мейкинг + ребейты; рубильник читает поток у пула вывод ТОЛЬКО через пул, подтверждение владельца Распределительплатит клиентам: заявка → ноги (≤ 3, нога ≥ 1 $) выплата на его адрес Кошелёк клиента (вывод)его сеть и адрес из четырёх пар; 1 % комиссия ЛЕНТА · каждое движение проводится · 00:00 UTC: лента = цепь
Деньги двигаются только внутри контура казна → площадка → распределитель; клиент касается цепи дважды: при взносе и при выплате. Пунктир — шаг «при необходимости».

Параллельно идёт лента (hq_journal / hq_posting): каждое движение проводится до или сразу после цепи; на границе суток сверка «лента = цепь» (допуск 0.5 единицы на актив); при расхождении расчёт стоит (hq_halt), и его снимает только владелец.

Кто держит ключи (без значений) — кастодиально

  • Кошелёк клиента выводится из сида распределителя по HD-пути (один адрес на клиента во всех EVM-сетях). Клиенту показывают его приватный ключ, повторная выдача даёт тот же ключ, но платформа тоже может им подписывать — свип клиентского кошелька делает она. Кошелёк описан клиенту как «транзитный». (refgate/src/wallets.py:1-25)
  • Казна 0x8eba…6900 — одновременно личный кошелёк владельца; его движения проводятся в ленте как «владелец». Адрес закреплён в коде.
  • Площадка (кошелёк фарма) — подписывает владелец EOA казны; relayer-ключ Polymarket у оператора.
  • Распределитель — свой ключ, отдельная ветка деривации.
  • Клиент не может вывести деньги с площадки сам: только заявкой через пул.

5Хронология и цифры пути

5.1 Хронология

ДатаСобытие
05.07.2026git init предка MidasGate: TG-гейт-бот, контур кошельков (транзитные, казна «6900», распределитель), сети BSC/Base/Arbitrum
12–13.07Предок стабилен: аудит безопасности «6 эр, 31+ раундов, 40+ уязвимостей, 6 P0 — все закрыты», 68 тестов
27.07Старый фарм: нейтральный ребейт доказан на бумаге; боевой тест на 200 $ дал −18.81 $ на событийном рынке, стоп по порогу −5.75
29.07Первый коммит poly-prodx 4b9e211 «bootstrap isolated poly-prodx foundation»; импорт кабинета refgate
29–31.07Ядро фарма скопировано с криминалистикой (SHA-манифесты, инвентарь секретов); живая золотая петля 31.07
03.08Девять маршрутов моста Polymarket доказаны микро-депозитами по 2.50 $ (4 сети); первая Claude-сессия в папке проекта
07.08Первый живой круг: три клиента, занос, мост, отчёт; мутации 23/23
16.08Спека MVP, лента штаба hq_journal; FINAL-REPORT (обнуление ещё не выполнено: 4351 транш, 5163 записи леджера, 10 пользователей)
17–19.08Фарм живыми деньгами (~356 $): 17.08 «допуск отвергал каждый рынок без комиссии», 18.08 «параметры награды выдумывались — заявки не скорились 13 часов»; 19.08 владелец остановил фарм. Итог — в разделе 7
02–04.09Клон 1.0, мастер-прогон: настоящий Polymarket, 6 клиентов, часы ×288, 9 дыр, цена ~9 $; метка PREDMEGACLON
05.09Клон 2.0: рефералка и золото живыми деньгами, 11-я дыра (лента знала СКОЛЬКО, но не ГДЕ); FINALPOINT, FINALPOINT-2
06–07.09Клон 3.0: Аура/Мана/карма, золото-льгота, одна книга; 8 законов из 9 доказаны; RELEASE-1-AURA, KLON-3-SOBRAN, RELEASE-2-DAN, RELEASE-3-PRIBYL; казна 169.50
08.09Самый плотный день — 141 коммит
09–20.09Подготовка клона 4: KORESHASTART+…, PREDKLON-4 (09.09), KLON-4-ISTOCHNIK (10.09), выкат пяти денежных дорог VYKAT-2026-09-13, POINTARH/POINTARH2, ZATVOR-2026-09-14, PRECLON4 (16.09), MEGAKLON4-GOTOV (17.09), рой 12 полос / 56 находок (20.09)
21–27.09Боевой прогон клона 4: 13 клиентов, виртуальные часы ×24 (сутки = час), 9 ускоренных закрытий (18–26.09), досрочная дань 3.196745 $; выход когорты 27.09
28.09Прод открыт (~19:55 UTC): сверка C6 «лента = цепь», сняты паузы
29.09Сторож распределителя остановил расчёт (долг 0.520566 $, на цепи 0); владелец пополнил, 28.09 закрыт прибором; выкачен рой d9d0301 (окно 20 мин, опрос 60 с, кнопка 1/мин, расходомер RPC)
30.09Межсетевые мосты Across/Relay; живой прогон 4 пар по 31 $ (площадка 123.85); отчёты .md; метка FINALSTAGECLON4 (672b4c7)
01.10Закрытие 30.09 само (цена 1); ранний вывод 30 → 26.73 за 8 с; выкат ядра 36e6fdc; чистый старт — площадка 0, доли 0, казна = цепь
02.10Перезагрузка сервера 09:37 — служба поднялась сама
05.10BETAKENT (чистый старт беты); зачистка остатков голов клона 4 (3.068393 $ рефки + 0.097293 $ тела, 60 строк рефки); второй ключ RPC; фарм включён 09:14; выкат «вывод ≠ просадка» (b9198d0); BETAKENTSTART 14:42 UTC (1e50a51)

«Клон 5» (13.09) — только документы и оснастка; был ли прогон — не найдено.

5.2 Цифры пути

1658
коммитов
29.07 → 05.10
69
дней проекта
с коммитами — 55
104
метки возврата
70 из них release/*
443
запуска агентов
в двух главных сессиях
19
упоров в лимит
13 session · 5 weekly · 1 monthly
17
закрытий суток
9 ускоренных · 2 вручную · 6 сами
4
клона-стенда
на живых деньгах, часы ×288 и ×24
4 / 4
пары сети
доказаны взносами 30.09
12
инцидентов
в журнале 17.08 → 05.10
8157
зелёных проб refgate
30 красных = эталон поимённо
141
коммит за день
пик 08.09
56
находок роя
12 полос, 20.09
ЧислоЗначениеОткуда
Коммитов1658git rev-list --count HEAD
Дней проекта69 (29.07 → 05.10), с коммитами — 55git log
Пиковые дни08.09 — 141, 10.09 — 138, 16.09 — 109, 09.09 — 103git log
Меток (git tag)104, из них 70 release/*git tag
Клонов-стендов на живых деньгах4 (1.0, 2.0, 3.0, мегаклон 4)MASTER.md, теги
Маршрутов моста доказано9 (03.08, микро-депозиты 2.50 $)MASTER.md
Пар сети доказано взносами4 из 4 (30.09)bridge_ops
Закрытий суток17 = 9 ускоренных (клон 4, 18–26.09) + 2 вручную (27.09, 28.09) + 6 подряд сами (29.09–04.10)hq_period_close
Запусков агентов443 (108 + 335 в двух главных сессиях), 5 вложенныхтранскрипты
Главных Claude-сессий3 (03.08–01.10 92 127 строк; куратор 31.08–05.10 86 976 строк; 26.09) + 110 файлов субагентов~/.claude/projects
Сессий Codex~31 по рабочим папкам (оценка; точное число не найдено)~/.codex
Упоров в лимит Claude19 (13 session, 5 weekly, 1 monthly); первый 06.08, последний 01.10isApiErrorMessage
Роёв12 полос / 56 находок (20.09), рой d9d0301 (29.09, 4 крыла), свод 4/4 (30.09)STATE, коммиты
Дыр11 к 05.09; 22 находки закрыты в 6 кругах приёмки; 56 находок роя; 10 строк «найдено и исправлено» 29.09–01.10. Общей цифры не найдено (разные классы, суммировать нельзя)MASTER, HANDOFF
Инцидентов в журнале12 записей (17.08 → 05.10)раздел 5.3
Тесты сейчасrefgate 8157 зелёных / 30 красных (эталон 32 = 20 имён + 12 календарных), core 999, root 1370STATE §14
Тесты в динамикеFINALPOINT-2 (05.09): 2949/1062/885; KORESHASTART+ (09.09): 6548; 30.09: 8113теги

5.3 Инциденты

ДатаЧтоИтог
17–19.08Фарм живыми деньгами в минусе; остановлен владельцемперезапуск 05.10 с новым учётом
20.09Относительный путь уронил боевой круг в «ИСХОД НЕИЗВЕСТЕН»путь от модуля, класс закрыт
20.09Инцидент безопасности в соседнем проекте на том же сервере (к МидасФи не относится)порты закрыты, алерты
21–26.09Наблюдатели прогона переподключались по ssh каждые 30 с → бан собственного адресаснял владелец через консоль
27–28.09Жёсткий allow-list ssh отрезал и владельца при смене адресавернули через консоль хостера
28.09Наблюдатель входов отстал на 7–14 сутокякорь «сутки назад»
29.09 00:00Сторож распределителя остановил расчёт: долг 0.520566 $, на цепи 0владелец пополнил, ~5 ч простоя расчёта
29→30.09Агент приёмки запустил поиск по всему диску — 852 мин CPU, прод не отвечал ~14 чkill; запрет записан в законы
28–30.09RPC: зависшие операции жгли 17–104 тыс. запросов/суткипростой 144 зова/сутки, кнопка 1/мин, второй ключ 05.10
30.09Сторож не видел перевод в конце окна; отчёт > 4096 знаков не доходил; Base-пара не доезжала; минус пустого пула от комиссии моста; свип Base упал на «insufficient funds have 0» от отставшего узлавсе закрыты (HANDOFF §6–7)
02.10Перезагрузка сервераслужба сама
05.10Фарм при первом запуске принял бы вывод за просадку (ложные −1178.69)фикс b9198d0

6Доказано живыми деньгами / не доказано

6.1 Доказано (боевая база, только чтение)

#ЧтоКогдаУликаСумма
1Взнос + сторож поймал сам, BSC USDT30.09deposits 165, sweep_legs 110 done, bridge_ops 18 done31.00 → на площадке 30.943468
2Взнос + сторож, Arbitrum USDT30.09deposits 166, sweep_legs 111, bridge_ops 1931.00 → 30.919003
3Взнос + сторож, Arbitrum USDC30.09deposits 167, sweep_legs 112, bridge_ops 2031.00 → 30.994100
4Взнос + сторож, Base USDC (первый свип упал на отставшем узле, второй прошёл)30.09deposits 168, sweep_legs 113 failed → 114 done, bridge_ops 2131.00 → 30.993400
5Межсетевой мост Across, BSC USDT → Arbitrum USDT30.09mezhsetevye_mosty 1, arrived33.00 → 32.988885
6Межсетевой мост Relay, BSC USDT → Base USDC30.09mezhsetevye_mosty 2, arrived33.00 → 32.902733
7Межсетевой мост Relay, BSC USDT → Arbitrum USDC30.09mezhsetevye_mosty 3, arrived (на 0.001 больше котировки)33.00 → 32.902883
8Перевод в последние секунды окна засчитан по времени блока30.09deposits 168, «за 20 с до конца окна» (слова документов)31.00
9Занос на площадку по паре ноги — все 4 пары30.09bridge_ops 18–21 done123.849971
10Закрытие суток с ненулевой площадкой, выпуск долей по цене 101.10 00:00:04hq_period_close 2026-09-30, venue 123.849971; доли 123.838296 (HANDOFF)123.85
11Ранний вывод: штраф 10 %, комиссия 1 %, выплата за 8 с01.10 06:03:52 → 06:04:00withdrawal_requests 7, paid, early=130.00 → 3.00 + 0.27 + 26.73
12Снятие с площадки под выплату01.10venue_withdrawals 18 done30.00 → 29.902707
13Чистый старт: площадка 0, долей 001.10venue_withdrawals 19 (93.849971 → 93.642869); hq_journal 805–808 correction.chistyj-start-0110c—
14Поток площадки: занесено = выведено до атома05.10/api/venue_flow: 822.350179 / 822.350179 / net 0822.35
1517 закрытий суток без пропусков дат18.09–04.10hq_period_close—
16Сторож расчёта остановил закрытие на долге при нуле на цепи; снят владельцем29.09hq_halt 15 halt → 16 clear (actor owner)долг 0.520566
17Зачистка остатков голов клона 405.10 09:18hq_journal 819 correction.zachistka-golov-05103.068393 + 0.097293
18Расход RPC в простое — единицы зовов в час05.10rpc_meter_hour: 2 узловых + 4 advanced в час, отказов 0~144/сутки
19Поток площадки виден фарму и пулу05.10 14:41polyfarm-ctl: RESUME e0=0.00 … net=0 injected=0 withdrawn=00

Закрытия суток подробно: 9 строк (18–26.09) созданы пачками 21.09 и 27.09 — это ускоренный прогон клона 4, не живые полуночи; 27.09 закрыто 28.09 00:02; 28.09 закрыто вручную 29.09 05:00 после остановки сторожа; далее 6 подряд сами в 00:00:02–04 UTC (29.09, 30.09, 01.10, 02.10, 03.10, 04.10). Из этих шести деньги в закрытии были только в одном (30.09); остальные закрылись при площадке 0 — это доказывает механику демона, а не расчёт на деньгах. Седьмое самостоятельное закрытие ожидается 06.10 00:00 UTC.

6.2 Не доказано

  1. Вывод после кулдауна 48 ч — ни разу живыми деньгами (все боевые выплаты с early=1; единственная с early=0 — синтетика клона 4).
  2. Фарм на деньгах друзей — не включался на чужих деньгах; движок после b9198d0 ни разу не котировал с реальным потоком.
  3. Первый внешний клиент на каждой паре — на 4 парах вносил тест владельца/куратора (аккаунты 32–35); ни одного человека со стороны.
  4. Неделя самостоятельных закрытий на деньгах — самостоятельных 6, с деньгами 1.
  5. Второй круг выпуска долей и деление результата на настоящей торговле — после 01.10 долей 0.
  6. Рефка живыми деньгами — настоящая выплата ни разу не прошла.
  7. «Вывод ≠ просадка» на живом фарме — исправлено и покрыто пробами (21 + 43), но в бою не воспроизведено; открытый компромисс: пока вывод в пути, убыток до его суммы может спрятаться.
  8. Независимое ревью (Codex) разделов 6–7 STATE — в документах как критерий, выполнения не найдено.
  9. RPC под нагрузкой — в простое 6 зовов/час; с окнами 5–10 друзей одновременно не снимали.
  10. Стоп-тревога фарма в боевом канале — канал готов (alert_channel_ready 14:41), но срабатывание на деньгах не доказано (22.08 стопы не доходили: ALERT_CHANNEL_MISSING).

7Фарм — честно

Что это

Фарм — движок маркет-мейкинга на Polymarket (polyfarm-core, служба polyfarm-live). Он выставляет котировки с двух сторон рынка, собирает ребейты площадки за ликвидность и управляет инвентарём: отбегает от крупных продаж (flee), добирает вторую ногу (hedge), распродаёт излишек ступенями. Над ним стоит рубильник (polyfarm-ctl): раз в 5 минут считает чистый результат net = econ − e0 − поток (поток = занесено − выведено, спрашивается у пула) и глушит движок при пробое порога.

Боевые параметры движка (05.10): 26 $ на рынок, не больше 2 рынков одновременно, резерв 0, окно до резолва 6 ч … год, минимальный наградной пул рынка 4 $/день, просадка сессии −40 $ → аварийная распродажа. Причина выбора каждого числа — не найдена в коде и документах.

История августа — две версии и одна правда

Версия документов (STATE §7, 05.10): «17–19.08: ребейт +7.31 $, торговля −1185.99 $, нетто −1178.69 $». Это число ложное. Оно взято из строки журнала рубильника 05.10 06:58, когда точка отсчёта (e0 = 356.34 от 17.08) была устаревшей, а площадку с тех пор опустошили выводами на 1588.65 $ (venue_withdrawals, 7 строк done), и рубильник эти выводы не вычитал. Это баг учёта, описанный в docs/VYVOD-NE-PROSADKA-2026-10-05.md.

Версия журнала фарма (yieldmaxpro.log): 17.08 05:52 точка отсчёта 356.34; 18.08 15:57 нетто −9.30; 18.08 19:18 скачок до +47.93; 22:39 — «+64.78» (econ 421.12, ребейт 4.15), без изменений до 19.08 04:20; 19.08 04:35 HALT … по решению владельца. Но +64.78 — тоже не результат: внутри сидит занесённое за это время (поток не вычитался).

Что считаем правдой (сверено куратором по первоисточникам): реальный торговый результат за 17–19.08 — около −18.5 $ (замер в коде farm_controller.py, комментарий «ЗАМЕР 19.08.2026»: −18.46 $ при пороге −5.75), ребейт — около +4 $ (4.15 по журналу 19.08 04:20). Фарм остановлен владельцем 19.08; причина решения в логах и документах не записана. Ложные −1178 — урок, из-за которого 05.10 выкачен фикс «вывод ≠ просадка».

Что ещё честно: результат фарма до 17.08 и между 19.08 и 05.10 — не измерен («записей о торговом результате за окно у нас нет вовсе», RESHENIYA-VLADELTSA.md). Ребейт за три дня — единицы долларов на ~356 $: фарм ребейтов пока не доказал, что кормит пул. Выплаты ребейта в paid исторически — 7 записей на 40.51 $.

22.08 в журнале — серия ROUGH_HALT … net<=-40, HALT_FAILED, ALERT_CHANNEL_MISSING: канал тревоги тогда не был настроен, стопы не доходили. Контекст (боевая просадка или учебная проба) — не найден.

Стопы — что глушит фарм

СтопПорогКак работает
Просадка сессии (движок)−40 $dd = (старт + поток) − эквити; гистерезис 3 проверки (~90 с) → аварийная распродажа книги + файл HALTED (снимает только владелец)
Слепой стоп (движок)20 проверок подряд без прочитанного эквити или потока (~10 мин)стоп новых котировок без распродажи + HALTED
Рубильник: чистый результатберётся слабейший из «−10 % заведённого капитала» и пола; пол = −50 % заработанного либо −5.75 $ (пока заработок ≤ 0 или неизвестен)шаг 5 мин, гистерезис 2 проверки; капитал сжимается выводом — порог вместе с ним
Рубильник: поток не прочитан3 отказа подряд (~15 мин)гасит фарм; прочитанный поток сбрасывает счётчик
Вывод в дороге > 6 чпул отвечает 409«исход неизвестен» → слепота, не ноль

Сейчас: капитал 0, порог −5.75, движок ждёт депозитов, автоподъём каждые 5 мин (счётчик рестартов 65+ — шум в журнале, не авария).

«Вывод ≠ просадка» — чему научились

  • Вывод с площадки пишется в ленту до отправки (open_venue_withdrawal), поток знает о нём заранее.
  • Точка отсчёта фарма ставится только в тихое окно: ни одного перевода в дороге, ни одного движения.
  • Выводить с площадки только через пул (раннер polymarket_withdrawal_run, подтверждение владельца, жетон = последние 6 знаков адреса). Ручной вывод на сайте Polymarket фарм примет за убыток.
  • Неудачный вывод не вычитается и под тем же жетоном не открывается повторно.
  • Настоящая просадка поверх вывода/заноса остаётся видимой (пробы test_a_withdrawal_does_not_hide_a_real_loss, test_a_deposit_does_not_hide_a_real_loss).
  • Три августовских якоря (HALTED, live.sqlite.baseline = 356.34, yieldmaxpro_state.json) убраны в архив 05.10; новая точка e0 = 0 с 09:14:51.

8Хрестоматия констант и правил

Обозначения: «код» — значение в коде/умолчании; «бой» — значение в боевой настройке службы (05.10); «=» — то же. Номера строк на снимке b9198d0; строки плывут, ищите по имени. Настройка читается на импорте: правка входит в силу только на следующем старте службы. Действующий закон = число из боя + факт перезапуска. Суффикс _BY_LAW = решение владельца без ручки настройки (ручки нет намеренно).

8.1 Пополнение

ИмяКодБойГдеЗачем
MIN_DEPOSIT_USD_BY_LAW / MIN_DEPOSIT_USD3030config.py:164Слово владельца 08.09. Ручка может быть только строже (отказ на старте)
BRIDGE_MIN_USD (автозанос)5=config.py:140«Не копить очередь, заносить сразу»
BRIDGE_MAX_USD100 (запас)1 000 000config.py:49Владелец 05.09: предела заноса нет; снятие предела — действие, не умолчание
POOL_CAP_USD0 = лимита нет0config.py:227Закон L13 (07.09). Механизм потолка цел
DEPOSIT_WINDOW_MINUTES2020 (29.09 было 10)config.py:186Владелец 29.09: «смотреть 20 мин только когда клиент нажал пополнение»
DEPOSIT_WINDOWS_PER_DAY55config.py:187Владелец 10.09
watcher.POLL_INTERVAL60 с=watcher.py:37Опрос внутри окна раз в минуту (было 15 с постоянно)
TAIL_GRACE130 с=watcher.pyХвост окна = 10 с подтверждений + 2 × 60 с опроса; судится по времени блока
CONFIRMATIONSBSC 8, Base 5, Arbitrum 5=watcher.py:41Подтверждения до зачёта
BLOCK_TIME_SECONDSBSC 0.4, Base 2.0, Arb 0.25=networks.py:45Константы, живым замером не подтверждены
Якорь курсора«сутки назад» (86400 с)=watcher.py:121Наблюдатель не отстаёт больше суток
_WINDOW_MARGIN_SECONDS300=watcher.py:122Запас на оценку блока по времени
_ADDR_BATCH200=watcher.py:60Адресов в одном фильтре getLogs
watcher._DUST / DUST_FLOOR0.05=watcher.py:61, sweeper.py:25Мельче не активируем и не свипаем
SCAN_LIMIT_PER_MIN1 / 60 с=onchain.py:46-47Кнопка «проверить» — раз в минуту
Цена одного нажатия «проверить»23 зова при окне 20 мин—ZAKON-ANKR §2Счёт по коду, не замер
ACTIVATION_HOURS44config.py:522Срок первого депозита
REF_ONLY_DAYS3030config.py:564Стартовое окно «только по приглашению» от 05.09
MAGIC_TTL_MIN1515config.py:521Жизнь ссылки входа
PASSWORD_MIN, PBKDF-раунды8; 200 000—config.py:523, auth.py:14Гигиена входа

8.2 Свип и сторожа

ИмяКодБойГдеЗачем
SWEEP_INTERVAL10 с=sweeper.py:24Период проверки очереди свипа
STUCK_UNKNOWN_TTL_S900 с; Base/Arb 300 с=sweeper.py:31,44-47Сколько ждать tx, которую сеть не знает; быстрые L2 — 180 с отправки + 120 запаса
_STUCK_TTL (свип, мост)1800 с=sweeper.py:26, bridge_daemon.py:10830 мин без квитанции — зовём человека
_RECEIPT_TIMEOUT / _RECEIPT_POLL_LATENCY180 с / 2.0 с=chain.py:41-42Умолчание web3 0.1 с дало бы до 1800 зовов на одну tx
Гейт опроса висящей ноги180 / 1800 / 60 / 300 с=chain.py:127-130Моложе 3 мин — каждый проход; до 30 мин — раз в минуту; старше — раз в 5 мин
_GAS_PRICE_BUFFER / ЗАПАС_ГАЗА_ПЕРЕВОДА1.3 / 1.4=chain.py:299,646Запас над ценой и нуждой газа
_FALLBACK_GASBSC/Base 120 000; Arb 1 200 000=chain.py:40Arbitrum считает L1-данные в газе
DUST_USD (казна)0.010.01config.py:372Закон L12: пыль в dust_log, чекпоинт «лента + Σ пыль = цепь»
treasury_watch.ОКНО / ОКОН_ЗА_РАЗ / ЗРЕЛОСТЬ950 блоков / 40 / 600 с=treasury_watch.pyУзел отвергает диапазоны шире 1000; догон не съедает лимит; 10 мин перед необратимым
Шаг treasury-watch1800 с=heartbeat.pyДва демона (казна + распределитель) × 48 заходов
ОЖИДАЕМЫЕ (heartbeat)treasury-watch 1800; watcher 60; sweeper 10; payout 5; bridge 60; rpc-meter 3600; warm-gold 3600; settlement 86400=heartbeat.py:133-173Имя не в словаре — не проверяется вообще (молчаливый простой 01.09)
ТЕРПИМ_ПЕРИОДОВ2=heartbeat.py:176Заход мог опоздать раз, не дважды
ПОРОГ_ЧАСОВ_ОТСТАВАНИЯ (код / документы)2 ч / 24 ч=release_watch.py:115,125Отставание выкаченного кода от main
ПОДРЯД_НЕ_СПРОШЕНО_КРИК3=release_watch.py:129Три отказа измерить — слепота сторожа
Внешний сторож (poly-prodx-watchdog.timer)через 5 мин после старта, затем каждые 10 мин=systemdЧитает настройку заново
Автосинхракаждые 15 мин + 00:00; в бою выключена—systemdВыкатка только скриптом владельца
_STUCK_SETTLE_TTL_H / _MAX_LEG_REVERTS48 ч / 5=payout.py:59-61Частично оплаченная заявка; после 5 ревертов нога в карантин
Повтор крика3600 с (нога/сирота), 86400 с (зависшее)=hq_payout.py:264, sweeper.py:141Крик раз в час / раз в сутки
Лимиты Telegram4096 / 1024 / 3500=owner_telegram.py:52-54Длина сообщения/подписи
BUSY_TIMEOUT_MS / МЕСТО_ПОД_ЗАПИСЬ_MB30 000 / 256=db.py:599,69Ждать дольше круга; запас диска

8.3 Казна и мосты

ИмяКодБойГдеЗачем
INTERVAL_SECONDS (демон заноса)60 с=bridge_daemon.py:70Такт
РАСХОЖДЕНИЕ_ШАГ_S600 с=bridge_daemon.py:89Было 4 320 HTTP/сут одним отказом
Тревога о ждущих за лимитомраз в сутки, недоставленная — через 10 мин=bridge_daemon.py:102-103
Дорога заносаBSC / USDT=bridge_daemon.py:131-132Казна → площадка
MICRO_PROOF_CAP_ATOMIC10 USDT=bridge_deposit.py:232Потолок микро-пробы моста
bridge_distinct шаг/мин/макс0.0001 / 0.0001 / 0.1=bridge_distinct.py:54-56Случайное уменьшение суммы, чтобы заносы были различимы
Межсетевой мост: потолок за заход100 $=mezhsetevoy_most.py:151Числа дороги — «свои», не закон владельца
Потолок комиссии / проскальзывания1.00 % / 0.50 %=:152-153Худший замер 0.54 % (Relay)
ПОРОГ_ВЫХОДА_BPS98.75 %=:161Минимум, гарантированный котировкой; худший живой 98.96 %
КОТИРОВКА_ГОДНА_S90 с=:162От превью до подписи
Ожидание прихода / шаг опроса900 / 10 с=:163-164Дальше «в пути»
Казна → распределитель за заход100 $=treasury_to_distributor_run.py:242
routing.MAX_LEGS / MIN_LEG3 / 1 $=routing.py:30-32Не больше 3 ног в выплате, нога не мельче 1 $
Скан вывода с площадки900 × 40 = 36 000 блоков=polymarket_withdrawal_run.py:435Зеркало потолка getLogs
СРОК_ПОЛЁТА_СЕКУНД1800=db.py:5422Перевод «в дороге» не дольше 30 мин
Допуск «лента = цепь»0.5 на актив в его единицах (USDT BSC 0.5·10¹⁸; USDC 500 000; XAUt 150 атомов)=integration/reconciliation.py:85-93Решение владельца 19 (15.08): до $180/год проходит как шум
Потолок остатка NAV при чистом старте (C6)1.00 $, строгое «>»=lenta_ravno_tsep.py:839Остаток при долях = 0 списывается в расход; больше — отказ

8.4 Доли и круг суток

ИмяКодБойГдеЗачем
PERIOD_LENGTHсутки 00:00 → 00:00 UTC=integration/period.py:44
FREEZE_BEFORE_BOUNDARY15 мин=period.py:41Мёртвое окно 23:45–00:15; запуски владельца — вне окна
SHARE_SCALE10¹⁸=nav.py:56Масштаб доли
Цена доли при пустом пуле1=cycle.py:310-315При долях = 0 NAV обязан быть 0
_ЧАСЫ_МОГУТ_РАЗОЙТИСЬ5 с=hq_period_close.py:167Запас на скачок NTP
*_PAUSED (settlement/sweeper/payout/bridge)00config.py:303-326Стоп-краны; «по приказу» ≠ «умер»
POOL_TEST_SAFE1 (код)0pool.py:98Ускоренных суток в бою нет
POOL_SIM_ENABLED / TICK—0 / 600бойСимулятор выключен
POOL_COMPOUND_PRICE / DAYS10 / 3010pool.py:74-75Покупка закрыта на этапе 4

8.5 Выход и комиссии

ИмяКодБойГдеЗачем
COOLDOWN_HOURS_BY_LAW48 ч от подтверждения свипа=config.py:93, hq_rights.py:42Решение 28.08: «занёс в среду в 15 — в пятницу в 15 сможет вывести»
LOCK_DAYS30=lockup.py:42, integration/lockup.py:59Замок тела; время стендом не деформируется
EARLY_PENALTY_BPS1000 (10 %)=lockup.py:43Только с запертого тела, FIFO по лотам
FEE_BPS (вывод)100 (1 %)=withdraw_request.py:68, fees.py:7На исполненную выплату
_OPERATIONAL_FEE_BPS100 (1 %)=fees.py:16Реф-вывод; отдельная константа намеренно
_PERFORMANCE_FEE_BPS5000 (50 %)=fees.py:6Только с положительного результата, никогда из красного
MINIMUM_WITHDRAWAL_USD55eligibility.py:79Снимает право на период; ручка только строже
withdraw_ttl_hours2424config.py:525Заявка без ликвидности автоотменяется
GOLD_MAX_PCT / GOLD_MIN_CLAIM_USD25 / 2025 / 20config.py:534-535Золото из прибыли
GOLD_SWAP_ENABLED11config.py:561Своп USDT→XAUt через KyberSwap
_SWAP_SLIPPAGE_BPS / _MIN_OUT_TOLERANCE_BPS1 % / 3 %=gold.py:223,233Замер на 25 $ дал 0.29 %
Свежесть цены золота / газа28 ч / 6 ч=gold.py:73, hq_costs.py:87Chainlink XAU/USD heartbeat ~24 ч + запас
RATE_BPS дани / ЖДАТЬ_СУТОК500 (5 %) / 3=hq_tribute.py:88,122Ставка — закон, не настройка
ШАГ_ДОЛИ_ЗОЛОТА5 %=withdraw_request.py:153
Зеркало ядра и службыrefgate/src/lockup.py ≡ integration/lockup.pytests/test_lockup_mirror.pyКопия числа — два числа; сверяет проба

8.6 Рефка и Мана

ИмяКодБойГдеЗачем
Реф-начисленияне облагаются замком, штрафом, кулдауном, Маной, рангом—ZAKON-REFKA (10.09)Слово владельца
Налог на вывод рефки1 % (с 50 $ → 49.50)=там жеЕдинственный
Авто-вывод рефкиот 50 $ (слово владельца)——Дорога не найдена в коде
POOL_REF_MIN_WITHDRAW1010pool.py:82Ручной порог
POOL_REF_TO_SELF / POOL_REF_NETWORK0 / BSC0pool.py:83,95Умолчание было 1 (платило рефку себе)
PAID_UPLINE_DEPTH / MAX_UPLINE_DEPTH1 / 50=referral.py:100,125«Рефка у нас одна» (16.09)
RANK_REFERRAL_BPS40→2 %, 45→3 %, 50→4 %, 55→6 %, 60→8 %=referral.py:71Смертный / Мист / Вакхант / Эпопт / Избранный
REVSHARE_MIN/MAX, START40 / 60 / 50=referral.py:94-155Старт Вакхант 50/50
TRIBUTE_MIN_FEE_USD / MIN_REFS / PER_REF / MIN_CAPITAL500 / 10 / 30 / 500500 / (код) / 30 / 500config.py:344-358Пороги дани
MANA_GATE_USD5050gamify.py:197Мана и рефка при теле ≥ 50 $
DAILY_MANA / COMPOUND_MANA / INVITE_MANA1 / 50 / 30=gamify.py:246-248Награды Маны
STREAK_MILESTONES7:10, 14:30, 30:60, 120:300, 365:1200=gamify.py:249Огонь-вехи
DISC_PENALTY_K0.5=gamify.py:182Множитель дисциплины
FARM_CAP, FARM_K, GOLD_BOOST, GOLD_CAP, GOLD_K, STRUCT_TURN_REF30, 15, 1.7, 25, 5, 1000=gamify.pyПараметры Маны

8.7 RPC (Ankr)

ИмяЗначениеЗачем
Ключодин бесплатный аккаунт, общий с соседним проектом (~2000–2900 зовов/сутки в простое — не трогать); с 05.10 08:37 — второй ключ запасным, порядок основной → запасной«Ключ не должен жечься дреном запросов» (29.09)
Кредитыузловой ~200/зов, Advanced ~700/зов; месячный лимит 200 млн — входы задания, в кабинете не свереноРасчёт бюджета
Бюджет простоя≈ 76 800 кредитов/сутки ≈ 2.3 млн/мес; вместе с соседом 14–20 млн/мес
Живой замер 05.106 зовов/час, отказов 0rpc_meter_hour
rpc_meterпишет в audit_log раз в час: узловых, advanced, отказов, 429, по роду, по демонам; считает до отправки; никогда не бросаетРасхождение с бюджетом > 2× — разбирать
cleanup20 кандидатов/проход, ≤140 зовов; funded — 1 проверка в часБыло до 403 200 зовов/сутки в худшем случае
Закон «0 зовов без окон»без открытых окон наблюдатель в сеть не ходитZAKON-ANKR
Открытодогон суток BSC/Arbitrum, цена методов в кабинете, gold.py без poll_latency, админ-веер балансов без ограничителяне решено

8.8 Фарм — движок

Служба polyfarm-live: --per-market 26 --max-markets 2 --buffer 0 --min-hours 6 --max-hours 8760 --min-pool 4 --max-drawdown 40 --live; Restart=always, автоподъём каждые 300 с.

ИмяЗначениеСтрокаЗачем
DD_HYSTERESIS_CHECKS3 (~90 с)live_app.py:92Стоп −40 $ только при 3 проверках подряд
EQUITY_BLIND_HALT_CHECKS / FLOW_BLIND_HALT_CHECKS20 (~10 мин):107, :114Слепой стоп без распродажи; 26.08 CLOB отдавал 502 ~90 с, запас ×7
max_drawdown_usd40:147Аварийная распродажа + HALTED
Формула просадкиdd = (start_eq + net_flow) − eq (с 05.10)Точка отсчёта — пара (эквити, часы пула) в JSON, только в тихое окно
MERGE/REBALANCE/EXIT_MIN_INTERVAL_S3.0:57-58, :83relayer лимит 25/мин
REBALANCE_MAX_PX / PENDING_TIMEOUT0.90 / 20 с:59-60Тонущую ногу не гоним
HEDGE_EDGE_MIN / HEDGE_PENDING_TIMEOUT_S0.01 / 6 с:61, :77Добор второй ноги
FEE_METADATA_TIMEOUT_S / FEE_CACHE_TTL_S2.0 / 60:62, :76Минутный кэш снял 12 вызовов из 13
MELT_FLEE_MIN_SIZE / MARGIN / HARD_SIZE / FLEE_COOLDOWN_S3 / 0.03 / 25 / 45:78-81Отбегание от крупных продаж
ADVERSE_CAP_FRAC0.5:82Односторонний инвентарь ≤ 50 % капитала
EXIT_LOSS_FLOOR / EXIT_MAX_LEVELS_PER_PASS / EXIT_DUST_NOTIONAL0.80 / 4 / 1 $:84-86Клир не глубже −20 % от средней
ORPHAN_SWEEP_INTERVAL_S / FLOOR_RELAX / MAX_DEAD60 / 0.10 / 3:87-89Позиции вне слотов
RECONCILE_QUIET_S / SLOT_AUDIT_INTERVAL_S45 / 30:90-91Не продаём излишек, если трогали < 45 с
HQ_FLOW_URL_DEFAULTвнутренний адрес пула /api/venue_flow, таймаут 10 сvenue_flow.py:31-32Единственный разбор потока; строго целые атомы, иначе FlowUnreadable
DATA_API_ATTEMPTS / RETRY_PAUSE_S3 / 1.2farm_controller.py:67-6817.08 площадка отдавала 429 в 3 пробах из 6
RETRY_ATTEMPTS_BY_LAW / INTERVAL5 / 120 сconfig.py:73-74Пять попыток по две минуты, затем админу

8.9 Фарм — рубильник (farm_controller.py, служба polyfarm-ctl)

ИмяЗначениеСтрокаЗачем
NET_STOP_PCT_OF_CAPITAL10:42Владелец 07.09: «−10 % от того, что в пуле… мало ли три друга или 19»
NET_STOP_FLOOR_PCT_OF_EARNED50:54Пол долей от заработанного
NET_STOP_USD−5.75:55Пол до первого замера и при заработке ≤ 0; не ноль
Выбор порогаслабейший из двух (дальше от нуля); капитал ≤ 0 или неизвестен → пол:595-628Порог не туже прежнего −5.75
NET_STOP_HYSTERESIS2:56Фильтр спайка от лага сеттла (−7.24 → −0.75)
CHECK_INTERVAL_S300:59Шаг цикла
FLOW_UNREADABLE_HALT_CHECKS3:552Решение куратора 05.10
netecon − e0 − net_flow:544Капитал = e0 + поток
trade_stopв бою не задан:961
VENUE_OUT_STALE_HOURS6db.py:4575Вывод в sending > 6 ч → 409
Файлы-якоряHALTED, live.sqlite.baseline, yieldmaxpro_state.json:69-75Сброшены 05.10 09:14; канал тревог обязателен («крик без адресата — тишина»)

8.10 Безопасность и прочие пороги

ИмяЗначениеГдеЗачем
TWOFA_LOCK_HOURS_BY_LAW24config.py:111Угнавший Telegram успевает сменить 2FA, но не вывести
key_reissue_cooldown30 сconfig.py:281
DB_PATHтолько абсолютный, файл обязан существоватьconfig.py:421-461Относительный путь = пустая база = адреса мимо ленты
USER_WALLET_DERIVATION_PATHобязателен, без умолчанияconfig.py:492Разный апостроф — разные адреса, невыгребаемые деньги
USER_WALLET_MIN_INDEX0 (бой); клону N → N·1000+1config.py:409,570Клон не выдаёт боевые адреса
Маска адресапервые 6 и последние 4 знакаconfig.py:931Полный адрес в тексты не пишется
Несовпадение ролей4 роли (казна, распределитель, заработок, фарм) = 6 пар + ни один не клиентскийconfig.py:943-1188Отказ на старте
ratelimit._MAX_KEYS20 000ratelimit.py:12Против memory-DoS
SITE_JWT_SECRET≥ 24 символа, не дефолтconfig.py:466fail-fast
Коды выхода раннеров0 успех; 3 неизвестно (не повторять); 4 dry-run; 5 moved-book-pending; 6 в пути; 7 пришло; 20 отказ до цепи; 22 не отправленоmezhsetevoy_most.py:949-954 и др.Единое различение «не ушло» / «неизвестно»
Атом1 000 000money.py:35Деньги — целые
_MIN_REASON (сторно)12 символовintegration/reversal.py:40Причина словами

8.11 Инварианты и законы (что держит и что ломается без него)

  1. Отказ ≠ ноль. Непрочитанное — ошибка и остановка, а не 0. Иначе порог 0 → мгновенный халт, пустой индекс клиентов = «проходи».
  2. Лента = цепь при закрытии (C6). Допуск 0.5 на актив; чекпоинт «лента + Σ пыль = цепь». Иначе расхождение копится молча.
  3. Лента вечная, пишется только законными дорогами; исправление — одной исправляющей записью, не правкой.
  4. Распределитель обязан покрывать свой долг, иначе расчёт стоит (29.09 так и было).
  5. Свип берёт ровно записанное и ходит по записи о приходе, а не по остатку кошелька.
  6. Занос на площадку — из той же пары, где лёг свип (доказано 4 мостами 30.09).
  7. Выпуск долей при пустом пуле требует NAV = 0; цена первого выпуска 1; нулевой выпуск — отказ.
  8. Мост казны: получатель = казна; контракт из белого списка; approve ровно на сумму; при пустом пуле — отказ до подписи; потолки 1 % / 0.5 % / 98.75 %; одна активная операция на дерево.
  9. Комиссию межсетевого моста несут пользователи; при пустом пуле — платформа.
  10. Вывод с площадки — только через пул (раннер). Ручной вывод на polymarket.com остаётся ложной просадкой.
  11. Вывод клиента ≠ просадка фарма. Движок: dd = (старт + поток) − эквити; рубильник: net = econ − e0 − поток.
  12. Новая точка отсчёта фарма — только в тихое окно.
  13. Неудачный вывод не вычитается и под тем же жетоном не открывается повторно.
  14. Незнание — отказ: висящий вывод > 6 ч ⇒ 409 ⇒ слепота движка (20 проверок) ⇒ стоп без распродажи; рубильник гасит на 3-м отказе.
  15. Настоящая просадка поверх вывода/заноса остаётся видимой (принятый компромисс: пока вывод в пути, убыток может спрятаться до его суммы).
  16. Наши кошельки разные (4 роли, 6 пар), ни один не клиентский; каждый клиентский адрес выводится из настроенного пути; база — абсолютный существующий путь.
  17. Порог вывода и минимальный депозит — из закона; ручка только строже.
  18. Скопированное число — это два числа. Одно объявление, остальные ссылаются; сторожат пробы (случаи 5↔30, 10↔5, 100↔10).
  19. Умолчание кода — не закон; закон = боевая настройка + перезапуск + четыре показания (файл/путь/время/число).
  20. Окно ввода: слушаем только 20 мин, опрос 60 с, 0 зовов без окон; кнопка 1/мин.
  21. Своя отправка на индекс клиента не читается депозитом (иначе петля и второй налог).
  22. Кулдаун 48 ч от подтверждения свипа; отмены свипа нет; право на период снимается выводом от 5 $ и отменой не возвращается.
  23. Замок 30 суток на тело, штраф 10 % только с запертого тела, FIFO по лотам; реф-начисления не облагаются.
  24. Дань 5 % — закон, пороги — настройки.
  25. Деньги двигаются только внутри контура казна → площадка → распределитель.
  26. Движения распределителя не проводятся лентой по устройству; проводятся движения владельца.
  27. Казна 6900 — одновременно личный кошелёк владельца; его движения проводятся как «владелец» (иначе ложная тревога об утечке, как 23.08).
  28. Только целые атомы, никаких float в деньгах; Decimal в фарме.
  29. Сторож у каждой цепи: дедуп, хеш до броадкаста, зрелость 600 с перед необратимым.
  30. Метка «уже кричали» ставится после доказательства доставки.
  31. «Стоит по приказу» ≠ «умер»; сторож, кричащий зря, к третьему разу не читается.
  32. HALTED долговечен: фарм не запускается, пока владелец не снимет.
  33. Выплата/свип/мост/расчёт — раздельные паузы; пауза — решение до границы, halt — по результату.

8.12 Операционные правила команды

Дерево и коммиты

  1. Коммиты только перечнем путей, без git add ./-A, без --amend. git status --porcelain до, git show --stat после. Чужие неотслеживаемые файлы не трогать.
  2. Раннер проб — никогда на боевом дереве (06.09 стёр живую настройку и уронил сторож). Только на копиях. Эталон 32 красных — не регрессия.
  3. Приёмке запрещать боевые скрипты поимённо даже из копии (21.09 переключилась живая служба).
  4. Принимает тот, кто не делал; приёмка независимая (Codex / code-reviewer); числа с чистой копии коммита с указанием способа.
  5. Мутировать не только код, но и тест; мутация сначала ломает свойство.
  6. Найденный паттерн выкорчёвывается везде, заочно и превентивно (владелец 08.09: «не хочу слышать "та же самая"»).
  7. Фикстура не должна лгать о бое; форма боевой базы — историей миграций.
  8. Проверять боевого зовущего, не только шов: инвариант без зовущего — комментарий.
  9. Прибор, которым снимают числа, обязан быть под историей и жить в своём мире.
  10. Числа — вместе со способом и миром.

Сервер

  1. Писать только в дерево проекта; соседние проекты read-only (сосед делит ключ RPC).
  2. Поиска по / на сервере нет (30.09: 852 мин CPU, прод завис 14 ч). Только по названным каталогам и с timeout. При «порт принят, баннера нет» — сначала ps aux --sort=-%cpu, не перезагрузка.
  3. Доступ к серверу: одно долгое соединение, без перебора в цикле (иначе бан).
  4. Боевую настройку никуда не копировать (только симлинк). Секреты не печатать. Адреса — с маской. Правка входит в силу после перезапуска; доказывать четырьмя показаниями.
  5. Движение денег, выкатку и снятие стопов запускает владелец. Жетоны набирать латиницей руками. Приборы — вне окна 23:45–00:15 UTC.
  6. Стенд намеренно держит боевые ключи (07.09): «это же стенд» ничего не доказывает про деньги.

Выкатка и откат

  1. Выкатка снимком: свести в main → push → скрипт владельца: release_snapshot.sh → release_switch.sh <снимок>. Снимок замораживает код, но не настройку.
  2. Откат пула: release_switch.sh на предыдущий снимок (2026-10-01-36e6fdc; текущий 2026-10-05-b9198d0). Откат фарма: git revert + перезапуск polyfarm-ctl/polyfarm-live. Порядок: первым фарм, потом пул. Откат кода — откат закона, и он молчит.
  3. Выкатка «вывод ≠ просадка»: пул первым (/api/venue_flow должен отвечать), потом фарм.
  4. Здоровье: cwd главного процесса, daemon_heartbeat, журнал службы, rpc_meter_hour, hq_period_close после каждой полуночи. Диск 80 %, свободно 15 ГБ (05.10).

Деньги фарма

  1. С площадки выводить только через пул. Ручной вывод мимо раннера не виден.
  2. Пока вывод в пути, настоящий убыток может спрятаться до его суммы — принятый компромисс. Пул недоступен на старте → рубильник откладывает точку отсчёта.
  3. Фарм включается скриптом владельца; на пустой площадке движок ждёт депозитов.

Общение

  1. Вопросы владельцу — текстом в отчёте, не виджетом (18.08 виджет простоял 76 минут). Отчёты — файлом .md, в чат коротко. Не дублировать «та же самая».
  2. Развилки — к владельцу, мелочи решать самой. Критерий, дописанный после результата, критерием не является. «НЕЛЬЗЯ» почти всегда означает «НЕ СДЕЛАНО».

Не открывать заново (доказано): занос по паре ноги (4 моста 30.09); перевод в конце окна засчитывается (deposits 168); выход и штраф (заявка #7); чистый старт C6 01.10; расход RPC (rpc_meter_hour); ускоренных суток в бою нет; 32 красных пробы — эталон.

9Тест-план беты для друзей

Роли. Друг — клиент. Владелец и куратор наблюдают. Движение казны, снятие стопов, выкатку делает только владелец.

9.1 Что делает друг — по шагам

ШагДействие другаЧто проверяем мыГде смотреть
1Открывает приглашение, регистрируется в боте @xcvnfro_bot, задаёт логин/пароль на midasfi.ai420.live, включает TOTPВ users строка pending_reg → pending_deposit; reg_deadline 4 чusers, кабинет
2В кабинете выбирает сеть и стейбл, получает адрес (BSC USDT / Base USDC / Arbitrum USDT / Arbitrum USDC)Строка wallets; открылось окно deposit_windows (20 мин, ≤ 5/сутки)wallets, deposit_windows
3Переводит от 30 $ в течение окнаСторож (опрос 60 с) ловит: deposits credited, сумма совпадает, detected_at по времени блокаdeposits, daemon_heartbeat
4Жмёт «Проверить транзакцию» (не чаще 1/мин)Нет лавины зовов: rpc_meter_hour растёт на единицыaudit_log
5Жмёт «Отправить в проект», видит статус «ждёт полуночи»sweep_legs done; bridge_ops той же пары done; на площадке прирост ≈ взнос − мостsweeps, bridge_ops, /api/hq, /api/venue_flow
6Ждёт полуночи UTChq_period_close с venue_atomic > 0; доли по цене 1; нет остановки; отчёт владельцу .mdhq_period_close, hq_halt, hq_journal, бот владельца
7Смотрит кабинет: доли, цена, историяДоли = внесённое после мостов / ценакабинет, pool_state
8Ранний вывод (тело младше 30 суток, после 48 ч кулдауна): просит вывод на свой адресwithdrawal_requests early=1: штраф 10 % с тела, комиссия 1 % после (эталон 30 → 3.00 + 0.27 + 26.73); paid, tx; секундыwithdrawal_requests, payout_legs, venue_withdrawals
9Вывод до 48 ч — должен быть отказ «срок удержания от свипа истекает …»Отказ в предпросмотре, заявки неткабинет
10Вывод прибыли (если пул в плюсе)Прибыльная часть идёт первой, без штрафа, только 1 %withdrawal_requests
11Рефка: приглашает ещё одного другаusers.referred_by при первом депозите; referral_commissions accrued на границе суток; выплата от 10 $ на свой адресusers, referral_commissions
12Второй человек — на другой паре (цель: по одному клиенту на каждую из 4 пар)То же, что 3–7как выше

9.2 Что проверяем мы каждые сутки

  1. /api/venue_flow?since=<начало беты>: net_flow_atomic = занесено − выведено; in_flight_* = 0 вне движений; 409 = отказ, разбирать.
  2. hq_period_close: новая строка после 00:00:0x UTC, venue_atomic ≈ внесённому; hq_halt: нет halt без clear.
  3. «Лента = цепь» для казны и распределителя (treasury_checkpoints, treasury-watch ≤ 30 мин).
  4. daemon_heartbeat: watcher ≤ 60 с, sweeper ≤ 10 с, payout ≤ 5 с, bridge ≤ 60 с, settlement ≤ 24 ч.
  5. rpc_meter_hour: отказов 0, 429 0, тренд зовов.
  6. Фарм: yieldmaxpro.log (net / capital / net_stop / farm=), /api/hq, журналы polyfarm-live, polyfarm-ctl.
  7. Выплаты: withdraw_queue ожидающие; withdrawal_requests pending дольше минуты.
  8. Расход мостов (bridge_expense) растёт ожидаемо.

9.3 Куда смотреть

  • Кабинет: midasfi.ai420.live. Бот: @xcvnfro_bot («мидаспродакшн»).
  • Службы: poly-prodx-refgate-X20prod (бот + API + демоны), poly-prodx-alertbot-X20prod (тревоги владельцу), polyfarm-live, polyfarm-ctl, polyfarm-dash-ours.
  • Внутренние API (только с сервера): /api/venue_flow пула и /api/hq дашборда.
  • База (только mode=ro): deposits, sweep_legs, bridge_ops, mezhsetevye_mosty, venue_withdrawals, withdrawal_requests, withdraw_queue, hq_journal/hq_posting, hq_period_close, hq_halt, referral_commissions, users, audit_log, daemon_heartbeat.
  • Документы: docs/STATE-BETAKENT-2026-10-05.md (первым, §14 новее), docs/FINALSTAGECLON4-2026-09-30.md, docs/HANDOFF-PRIVATE-BETA-2026-10-01.md, docs/VYVOD-NE-PROSADKA-2026-10-05.md.

9.4 Что считать багом

Критичный (стоп беты, владельцу сразу, деньги не двигать):

  • net_flow_atomic ≠ 0 без операции в дороге; лента ≠ цепь при закрытии; hq_halt без clear; сутки не закрыты до 00:15 UTC.
  • Взнос в окне не засчитан за 2 цикла опроса или зачтён дважды.
  • Свип забрал больше записанного; занос ушёл не из той пары; bridge_ops не done дольше 10 мин.
  • Вывод: сумма ≠ формуле (кулдаун 48 ч — отказ; штраф 10 % только с тела младше 30 суток; прибыль первой без штрафа; 1 % после штрафа); выплата больше заявленного; двойная выплата.
  • Фарм принял вывод/занос за просадку (ложный GLOBAL_DRAWDOWN_HALT/ROUGH_HALT) или не остановился на настоящем убытке; аварийная распродажа без причины.
  • Утечка в чате/логе: ключ, полный адрес, tg id.

Средний: заявка в withdraw_queue ждёт > 24 ч при деньгах на распределителе; сторож stale в daemon_heartbeat; rpc_meter_hour с отказами/429; сообщения бота не доходят; отчёт .md не пришёл.

Низкий: текст, вёрстка кабинета, медленная кнопка, неудобный вывод.

Куда репортить: владельцу Солу в личный Telegram; при критичном — сразу слово «стоп». Формат: время UTC, пара сети, user id (не tg id), id строки в таблице, ожидалось / случилось, скрин.

9.5 Критерии «бета → прод»

  1. Неделя закрытий суток без ручного вмешательства — с деньгами.
  2. Ни одной остановки расчёта без найденной причины.
  3. Минимум один настоящий клиент на каждую из 4 пар.
  4. Вывод после кулдауна 48 ч (и вывод прибыли без штрафа) доказан живыми деньгами.
  5. Расход RPC по счётчику в пределах бюджета.
  6. Независимое ревью (Codex) разделов 6–7 STATE.

10Риски

  1. Нет доказательства расчёта на настоящей прибыли/убытке. Все закрытия с деньгами — на синтетике клона 4 или на перегонах владельца/куратора; доли после 01.10 — 0.
  2. Фарм не доказал, что зарабатывает. Единственный живой замер (17–19.08): торговля около −18.5 $, ребейт около +4 $ за три дня на ~356 $; остановка 19.08 без записанной причины; результат между 19.08 и 05.10 не измерен.
  3. Ложные и слепые стопы. Фикс «вывод ≠ просадка» проверен пробами, не боем. Ручной вывод на сайте Polymarket невидим; пока вывод в пути, убыток до его суммы может скрыться; движок уходит в авторестарт каждые 5 мин при пустой площадке.
  4. Нагрузка не снята. Окна 20 мин × опрос 60 с × кнопка 1/мин — проверено на 4 взносах; на 5–10 людях одновременно — нет. Прошлый инцидент: 17–104 тыс. зовов/сутки.
  5. Мосты. Потери 0.03 % (Across) и ~0.3 % (Relay); при пустом пуле платит платформа; доли на прибытии ≠ доли на превью.
  6. Край окна уже ломался. Свип Base упал на отставшем узле; исправлено переспросом, но повтор с другим узлом в бою не воспроизводился.
  7. Единая точка отказа — владелец. Выкатка, снятие стопов, движение казны, жетоны, пополнение распределителя — вручную (29.09 ждали ~5 ч). Казна — одновременно личный кошелёк владельца; всё «неопознанное» проводится как его капитал.
  8. Операционные грабли. Поиск по / вешал прод на 14 ч (запрещён); автосинхра выключена; диск 80 %; сервер перезагружался 02.10; фарм крутится из рабочего дерева, а не из снимка — слияние в main кладёт код сразу.
  9. Рассинхрон документов и базы. Время чистого старта 15:02 (база) против «18:02» (документы); «14 суток подряд» против 17 строк, из которых 9 ускоренные; «синтетиков 0» при 17 active в users (доли 0, строки остались); остатки user_shares/realized_mm_pnl в ленте вне стоимости пула. Денег не двигает, аудит путает.
  10. Тест-набор не зелёный. Эталон 32 красных (20 исторических + 12 календарных); refgate 30 красных поимённо = базе. Не регрессия, но проба не закрывает всё.
  11. Рефка. Настоящая выплата не проверена; автовывод от 50 $ в коде не найден.
  12. Тревожный канал. 22.08 стопы фарма не доходили; сейчас alert_channel_ready, но на боевую тревогу не проверен.
  13. Кастодиальность. Ключи у оператора; клиент не может вывести с площадки сам; очередь выводов без SLA.

11Глоссарий

  • Казна (0x8eba…6900) — кошелёк, куда свипаются взносы клиентов и откуда демон заноса везёт деньги на площадку; одновременно личный кошелёк владельца.
  • Площадка — Polymarket; кошелёк фарма с pUSD, где лежат деньги пула во время работы.
  • Распределитель — кошелёк, из которого платят клиентам (выводы, рефка) и который «капает» газ на кошельки клиентов для свипа; из его сида выводятся адреса клиентов.
  • Доли — единицы участия в пуле; выпускаются на границе суток по цене границы; первая цена 1.
  • NAV — стоимость пула (площадка + ждущее − обязательства); цена доли = NAV / доли.
  • Лента — вечный журнал проводок (hq_journal/hq_posting); исправляется только исправляющей записью.
  • Лента = цепь (C6) — сверка ленты с балансами в блокчейне при закрытии суток; допуск 0.5 на актив.
  • Свип — отправка стейбла с кошелька клиента на казну после нажатия «Отправить в проект».
  • Сторож (watcher) — демон, который слушает адрес клиента в 20-минутном окне и записывает приход.
  • Окно пополнения — 20 минут после нажатия «Пополнение»; не больше 5 в сутки.
  • Рубильник (polyfarm-ctl) — контроллер, который раз в 5 мин считает чистый результат фарма и гасит движок при пробое порога.
  • Движок (polyfarm-live) — маркет-мейкер на Polymarket; свой стоп −40 $ просадки сессии.
  • HALTED — долговечный файл-флаг остановки фарма; снимает только владелец.
  • Круг суток / период — 00:00 → 00:00 UTC; расчёт, выпуск долей, распределение, рефка.
  • Мёртвое окно — 23:45–~00:15 UTC: заносы не едут, факты уходят в следующий период, приборы не запускать.
  • Отметка (high-water mark) — прежний максимум клиента; комиссия берётся только с прироста выше неё.
  • Теневой фарм — работа денег до выпуска долей; заработок этих часов делится проект / держатели, убыток — на проекте.
  • Кулдаун 48 ч — запрет вывода суммы свипа от его подтверждения.
  • Замок тела 30 суток — штраф 10 % при выводе тела младше 30 пул-дней.
  • Тело / прибыль — внесённое / прирост сверх внесённого; прибыль выводится первой и без штрафа.
  • Право на период — право получить распределение суток; теряется выводом ≥ 5 $ в эти сутки.
  • Мана — внутренние очки за дисциплину (ежедневно, компаунд, приглашения, вехи); капает при теле ≥ 50 $; двигает ранг.
  • Ранг (Аура) — 40–60: Смертный, Мист, Вакхант, Эпопт, Избранный; определяет вашу долю прибыли (ранг %) и ставку рефки (2–8 %).
  • Рефка — начисление пригласителю из доли проекта; один уровень; отдельный карман.
  • Дань — месячные 5 % золотом рефереру при порогах 500 $ / 10 приглашённых / 30 $ / капитал 500 $.
  • Золото — до 25 % вывода в XAUt из прибыли, без штрафа и 1 %.
  • Занос — перевод с казны на площадку (демон bridge_daemon); межсетевой мост — ребаланс казны между сетями (Across/Relay).
  • Нога — одна транзакция в составе выплаты, свипа или моста.
  • Атом — 1/1 000 000 доллара; все суммы в ядре — целые атомы.
  • Клон — стенд на живых деньгах с ускоренными часами (×288, ×24); мегаклон 4 — последний прогон перед продом.
  • Снимок — замороженная копия кода для выкатки (2026-10-05-b9198d0).
  • Рой — параллельный запуск многих агентов-разведчиков по полосам.
  • Пробы — тесты; эталон красных 32.
  • Четыре показания — файл / путь / время / число: как доказывается, что настройка действует в бою.
  • BETAKENT / BETAKENTSTART — метки 05.10: чистый старт беты и старт приватной беты с фиксом «вывод ≠ просадка».
Наверх