Перейти к содержимому

Руководство заёмщика

Это руководство проводит через полный процесс займа SOL в Moono Protocol для запуска токена на pump.fun.

  • Кошелёк Solana (Phantom, Solflare или любой совместимый)
  • SOL на кошельке для оплаты комиссий и процентов (точные суммы см. в Экономика)

Метаданные токена можно подготовить заранее, но приложение умеет генерировать всё прямо в потоке.

Перед первым займом необходимо создать профиль пользователя. Это разовое действие.

  • Подключите кошелёк к приложению Moono
  • Нажмите Register (или кнопку создания профиля)
  • Подтвердите транзакцию — это стоит 0.01 SOL (регистрационная комиссия) плюс небольшая сумма на аренду аккаунта Solana

Текущая версия профиля (v3) дополнительно хранит service-кошелёк — браузерный ключ, производный от подписи вашего кошелька. Протокол никогда не тратит с него on-chain; он используется только для off-chain аутентификации (AI-генератор, загрузка в IPFS, управление ALT). Если вы регистрировались на v1 или v2, при следующем подключении приложение предложит мигрировать на v3.

Профиль отслеживает историю займов, список пресетов запуска, битмап LP-активности и присваивает последовательные ID займам и пресетам.

Запуски выполняются через пресет запуска (Launch Preset) — многоразовый on-chain аккаунт с метаданными токена, mint, объёмом, десятичными знаками и настройкой bundle-кошельков. Подробности см. в отдельном руководстве Пресеты запуска.

В двух словах, на странице /presets/new вы заполняете:

  • Launch Configuration — какая комбинация платформа/котировочный актив (на mainnet сегодня: pump.fun + WSOL)
  • Base Mint — сгенерируйте новую keypair, импортируйте существующую или вставьте vanity-адрес; приватные ключи зашифрованно хранятся локально в браузере
  • Base Name / Symbol / URI — название, тикер и URI метаданных; кнопка Construct открывает модалку, которая собирает JSON и загружает его (вместе с изображением) в IPFS
  • Base Supply / Decimals — общий объём (raw units) и десятичные знаки до 9
  • Bundle Addresses Count + Bundle Distribution Type — сколько bundle-кошельков использовать и как распределить покупку между ними
  • Bundle ALT — Address Lookup Table с адресами bundle-кошельков; приложение умеет создавать или дополнять её за вас

Сохраните пресет, затем по желанию профинансируйте bundle-кошельки на странице пресета. Полный сценарий см. в Bundle-кошельки.

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

Со страницы пресета нажмите Launch, чтобы открыть форму займа. Запуск без пресета также возможен — на /launch/:address, тогда поля токена заполняются вручную. В любом случае задаются:

Сколько SOL протокол берёт из пула LP. Это бюджет на начальную покупку и bundle-покупки в сумме.

Мин.Макс.
Сумма займа0.1 SOL2500 SOL

Больший займ = больший суммарный объём покупки на bonding curve.

При запуске из пресета сумма займа делится между начальной покупкой (самая первая покупка на кривой, выполняется execution-кошельком протокола) и bundle-покупками (дополнительные покупки, распределённые по bundle-кошелькам). Слайдером можно выбрать, сколько идёт на initial buy, а сколько — на bundle.

При запуске без пресета вся сумма займа уходит в начальную покупку, bundle-кошельки не используются.

Мин.Макс.
Срок1 ч336 ч

Погасить можно в любой момент до истечения. После истечения займ становится доступным для ликвидации администратором; самоликвидация разрешена в любое время — до или после истечения срока.

Отдельная сумма SOL, которую вы тратите со своего кошелька, чтобы купить токен в той же атомарной транзакции запуска. Протокол гарантирует, что между последней покупкой протокола и вашей покупкой никто другой не купит токен на bonding curve — это встроенная защита от front-run, специфичная для Moono.

Если User Buy > 0, приложение настоятельно рекомендует включить Jito в Profile → Settings. Jito-bundles повышают вероятность атомарной доставки запуска и вашей покупки.

Поля токена (только для запуска без пресета)

Заголовок раздела «Поля токена (только для запуска без пресета)»

При запуске без пресета:

  • Base Mint — сгенерируйте, импортируйте или вставьте адрес (тот же UX, что на странице пресета)
  • Base Name / Symbol / URI — заполните вручную или используйте модалку Construct (с опциональным AI-генератором)

Транзакция запуска большая и использует отдельный для каждого займа Address Lookup Table, чтобы уложиться в лимиты Solana. Нажмите Generate в форме — приложение создаст ALT перед отправкой; при успехе поле заполнится её адресом.

Перед подтверждением проверьте разбивку. Все цифры берутся из актуальной страницы Экономика (синхронизируется с mainnet).

  1. Комиссия протокола — фиксированная (сегодня 0.01 SOL)
  2. Резерв на миграцию — пропорционален сумме займа
  3. Накладные расходы — возвращаются при закрытии (сегодня 0.05 SOL)
  4. Проценты — зависят от суммы, срока и того, какие тики финансируют займ
  5. Финансирование bundle-кошельков (опционально, отдельная транзакция) — SOL, который вы переводите на bundle-кошельки для оплаты аренды ATA и комиссий

Проценты и комиссии оплачиваются авансом с вашего кошелька. Заёмные SOL идут в покупки на bonding curve.

Нажмите Launch. Приложение собирает атомарную entry-связку — последовательность транзакций, отправляемых вместе (через Jito, если включено). Точный состав зависит от того, выкупает ли ваш займ bonding curve целиком.

Перед отправкой приложение делает pre-flight проверку: сколько SOL ваш запуск зальёт в bonding curve и приведёт ли это к кэпу (порог 85 SOL). Один из трёх вариантов:

  • All-pre-grad — суммарный спрос комфортно ниже кэпа. Запуск остаётся на bonding curve pump.fun. launch_migrate_0 и launch_complete_0 идут в связке как дешёвые no-op’ы.
  • Cap-path — initial buy сам выкупает кривую до кэпа. launch_0 грэдуэйтит кривую; launch_migrate_0 мигрирует на PumpSwap; launch_complete_0 тратит cap-leftover на PumpSwap; bundle-покупки и user buy идут уже на PumpSwap. Всё в той же атомарной связке.
  • Gray zone (отклоняется клиентом) — суммарный спрос пересекает порог, но один initial buy его не достигает. Приложение откажется отправлять; слайдер попросит либо поднять initial buy выше кэпа, либо ужать bundle/user buy ниже кэпа. Это ограничение есть, потому что грэдуация посреди потока отвергается on-chain.

Полная концепция — на странице Миграция.

В атомарной связке (или Jito-bundle) Moono Protocol:

  1. Списывает комиссии и проценты с вашего кошелька
  2. Берёт SOL из пула LP, начиная с тиков с наименьшей стоимостью
  3. Создаёт ваш токен на pump.fun (launch_0)
  4. Выполняет начальную покупку на bonding curve
  5. Мигрирует на PumpSwap, если initial buy выкупил кривую (launch_migrate_0)
  6. Тратит cap-path leftover на PumpSwap (launch_complete_0) — no-op если leftover’а нет
  7. Распределяет остаток займа по bundle-кошелькам (bundle_buy_universal_0 × N чанков)
  8. Опционально выполняет вашу личную покупку с гарантией curve checkpoint
  9. Сохраняет initial-buy и bundle-buy токены как залог в эскроу под управлением программы

После подтверждения панель Launch Result покажет адрес займа, ID Jito-bundle (если использовался) и подписи транзакций по шагам. Кнопка Go to Loan ведёт на страницу займа.

После запуска у вас два основных пути.

Даже если вы запустились в режиме all-pre-grad, другие трейдеры могут перевалить bonding curve через порог до того, как вы закроете займ. Universal buy/sell инструкции Moono определяют состояние кривой в момент исполнения и сами маршрутизируют на PumpSwap, поэтому exit-поток работает независимо от того, что произошло с кривой за время займа. Приложение вставляет защитный launch_migrate_0 первым шагом exit-связки — крэнкнуть pending миграцию PumpSwap при необходимости. Идемпотентен: no-op, если миграция не нужна.

До истечения срока погасите займ и заберите свои токены:

  1. Убедитесь, что на кошельке достаточно SOL/WSOL для погашения
  2. Откройте страницу займа и нажмите Repay
  3. Подтвердите транзакцию

При погашении:

  • Заёмные SOL возвращаются в пул LP
  • Залог initial buy переводится на ваш кошелёк
  • Все base-токены с bundle-кошельков тоже сметаются на ваш кошелёк (изменилось по сравнению с прошлой версией, где они оставались на bundle)
  • Возвратные накладные расходы возвращаются
  • Займ помечается как Repaid
  • Пресет разблокируется для переиспользования

На bundle-кошельках остаётся накопленный нативный SOL (неизрасходованное финансирование, rent-buffer для ATA). Чтобы вернуть и его, запустите bundle_drain_0 со страницы пресета при retirement — см. Bundle-кошельки.

Если хотите закрыться сразу в SOL или если займ истёк без погашения:

  • Liquidate — продаёт залог initial buy (на bonding curve или на PumpSwap — что активно), погашает пул LP, и излишек делится 3-сторонне (LP / платформа / заёмщик — см. ниже)
  • Sell & Liquidate — сначала продаёт все base-токены на bundle-кошельках через bundle sell, затем ликвидирует займ в одном потоке; «одной кнопкой» полное сворачивание

Самоликвидация разрешена в любое время. Админ тоже может ликвидировать после истечения; льготного периода нет.

Когда выручка от продажи превышает заёмную сумму, излишек делится на три части. Доли снапшотятся на ваш займ в момент launch_0 (изменения админа после открытия займа на вас не влияют). Текущие mainnet-значения:

ПолучательДоля излишка
LP (в per-tick interest пул)0.00%
Платформа (protocol fees)0.00%
Заёмщик (ваш WSOL ATA)100.00%
излишек = выручка_от_продажи − заёмная_сумма (только если > 0)
ваша_выплата = излишек × {surplusBorrowerPct}% (по текущему mainnet-конфигу)

Числовые примеры — в Стратегии заработка. Распределение работает только сверх принципала; LP и платформа никогда не берут из основной возвращаемой суммы.

После закрытия займа на странице займа отображается audit-trail панель со snapshot-полями, которые хранятся on-chain: launch_lp_interest_paid, launch_protocol_fees_paid, liquidation_lp_paid, liquidation_platform_paid, плюс per-tick разбивки (launch_lp_per_tick, liquidation_lp_per_tick). По ним можно восстановить, сколько вы заплатили и как распределилось, без перебора истории транзакций.

СтатусЗначение
OpenЗайм активен; погашение возможно в любой момент до истечения
RepaidВы погасили займ и забрали залог initial buy + bundle
Liquidated by UserВы (заёмщик) запустили ликвидацию
Liquidated by AdminАдминистратор запустил ликвидацию (обычно после истечения)

На странице займа также видны низкоуровневые поля: launch_phase, bonding_curve_complete, quote_reserved, quote_borrowed, initial_quote_buy_amount, initial_quote_buy_remaining, quote_amount_liquidated, bundled_base_amount, remain_base_pool_amount и разбивка займа по тикам.

  • Начните с малого — попробуйте займ на 0.1 SOL, чтобы понять поток
  • Используйте пресет для повторных запусков — экономит круг с метаданными и позволяет переиспользовать vanity-mint
  • Финансируйте bundle-кошельки заранее — это отдельная транзакция; без неё запуск не сможет оплатить bundle-ATA
  • Включайте Jito для User Buy — без Jito ваша покупка может попасть в другой слот и потерять защиту curve checkpoint
  • Следите за временем — установите напоминание до истечения срока, если планируете погашать
  • Учитывайте все расходы — проценты лишь часть стоимости; полный разбор см. на странице Экономика