Files
pump-game-ops/docs/ECONOMY.md
T
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

39 lines
3.1 KiB
Markdown

# 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.