Mars1
Связаться

Единственное, что двигает деньги на платформе.

Балансы двойной записи на выделенном реестре, доступ только через типизированные команды, семантика exactly-once и явное состояние для случая, когда ответ так и не пришёл.

Игроки, кошелёк, контент и операционные инструменты связаны общей платформой Mars1.
РеестрДвойная запись
Универсальный переводНе существует
Безопасность ретраяТочная квитанция

Кошелёк, если точно

01

Только типизированные команды

Депозит, резерв/сеттлмент/отмена/откат ставки, резерв/завершение/отмена выплаты. Универсального перевода и эндпоинта «установить баланс» нет.

02

Ниже нуля не уходит

Инструкцию, уводящую баланс в минус, отклоняет сам реестр, а не слой валидации, который кто-то может обойти.

03

Ровно один раз

Детерминированные идентификаторы и воспроизведение по точной квитанции: ретрай, обрыв связи или двойной клик не могут провести операцию дважды.

04

Неопределённость — это состояние

Если вызов не вернул терминального результата, операция не зафиксирована и не отклонена. Ограждённый reconciler разрешает её только по точному доказательству.

05

Холды

Зарезервированные деньги считаются недоступными, поэтому баланс нельзя потратить, пока выплата против него ещё в полёте.

06

Бонусные карманы

Бонусные обязательства лежат в своём семействе счетов и двигаются только командами начисления, конвертации или сгорания.

Какие контракты открывает

Команды
Deposit · ReserveWager · SettleBet · ReserveWithdrawal · AwardBonus · ConvertBonus
Чтение
GetAuthoritativeBalance · GetOperation
События
TransactionPosted · BetSettled · HoldPlaced · ReconciliationRequired

Чего он не делает никогда

  • Открывать любой эндпоинт установки баланса
  • Править историю — исправление это новая запись
  • Позволять другому сервису выбирать счета или коды реестра

Каждый модуль на этой платформе определяется не только тем, чем владеет, но и тем, что ему запрещено. Именно это делает границу проверяемой, а не декларативной.

Все остальные модули платформы планируют эффект. Выполняет его только кошелёк.

Посмотрите, как это работает

Каждый модуль здесь превращается в экраны, которыми оператор пользуется в понедельник. Попросите разбор тех, что решают вашу неделю.