Files
subochev 6e54e9ef4b ADR-007: источник цены SOL = upstream binance-market (NATS / WS)
- README: новая секция «Внешние зависимости» — binance-market как общий
  инфраструктурный upstream, а не часть игры (~/common-projects/invest/binance-market,
  контракт: NATS market.price.solusdt или WS /ws/price).
- docs/DECISIONS: добавлен ADR-007 с обоснованием; ADR-006 получил апдейт-сноску.
- docs/ECONOMY: «Курс и балансы» — указано, откуда берётся реальная цена SOL.
- TASKS: задачи «Цена SOL: реальный источник» (Фаза 0) и «PriceSource: реальная
  цена» (Фаза 2) переведены из TODO в IN_PROGRESS, со ссылкой на ADR-007 и
  binance-market; test-front задача тоже помечена.
2026-09-12 01:10:09 +03:00

3.1 KiB

ECONOMY.md — экономика игрового токена (заполняется в Фазе 0)

Статус: частично заполнено, утверждённые решения зафиксированы (ADR-001..005). Сам токен ещё не эмитирован.

Цель — зафиксировать все ключевые параметры токена и экономики, чтобы дальше ссылаться на них, а не вспоминать в чате.

Пользовательский флоу (утверждено, ADR-005)

  1. Игрок подключает Phantom → баланс 0.
  2. Кнопка «Пополнить» (одна, без выбора) → наш бэкенд swap SOL→фантики → баланс появляется.
  3. Игрок ставит фантики через контракт (честное списание/начисление по исходу).
  4. Кнопка «Вывести» → swap фантики→SOL → баланс уменьшается, игрок забирает SOL.

Токен

  • Название: Binary Rocket (уточнить финальное имя/символ)
  • Тип: свой мемкойн на pump.fun, Solid SPL / Token-2022
  • decimals: 6 (по доке pump.fun create_v2)
  • Эмитент: наш адрес (кошелёк/программа)
  • Mint-адрес: (заполнить после создания — в Фазе 4)
  • Bonding curve: (заполнить после создания)
  • URI метаданных: (IPFS)

Курс и балансы

  • Валюта ставки: наши фантики (токен Binary Rocket).
  • Предмет ставки: направление цены SOL (вверх/вниз) — ADR-006. Источник реальной цены SOL — upstream-сервис binance-market (см. ADR-007 и README → «Внешние зависимости»). Потребление: NATS-топик market.price.solusdt (предпочтительно) или WS ws://<binance-market>:8080/ws/price?symbol=solusdt. В dev/test допускается оставить RandomPriceSource-заглушку.
  • Курс: живой рыночный (ADR-002). Ввод/вывод через swap pump.fun; баланс игрока — в фантиках.
  • Фантик = 1 токен-единица/10^6.
  • Баланс игрока: в ATA (Associated Token Account) на mint; читается getTokenAccountBalance.

Вход/выход денег

  • Пополнение: POST /agents/swap, inputMint=NATIVE_MINT(SOL), outputMint=наш_mint.
  • Вывод: POST /agents/swap, inputMint=наш_mint, outputMint=NATIVE_MINT(SOL).
  • Комиссия pump.fun — (решить, чей счёт).
  • Ликвидность на старте — (решить).

Что стоит фиксированно

  • mint-адрес, bonding-curve, decimals, эмитент — версионируются в конфиге бэкенда + в git.