МожливостіСутності
Документація
    Ring Platform

    Децентралізоване самобудівне майбутнє

    Увійти
    Сутності
    Можливості
    Магазин
    Документація
    Концепції
    RING ЕкономікаSonoratek LLCГлобальний впливAI зустрічає Web3
    Розпочати
    Швидкий стартКалькуляторДорожня карта
    Конфіденційність|Контакти
    v1.104.17|Sonoratek LLC

    Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    Повідомлення
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server

    Швидкий вхід (CTO · аудитори · агенти)

    Вітаємо — місія та аудиторії
    Швидкий довідник
    Початок роботи
    Архітектура та Auth.js
    Режими бекенду та БД (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безпека та відповідність
    ringdom.org — база LegioX
    Код — ліцензія MIT (GitHub)

    Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    Повідомлення
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server

    Швидкий вхід (CTO · аудитори · агенти)

    Вітаємо — місія та аудиторії
    Швидкий довідник
    Початок роботи
    Архітектура та Auth.js
    Режими бекенду та БД (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безпека та відповідність
    ringdom.org — база LegioX
    Код — ліцензія MIT (GitHub)

    Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    Повідомлення
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server

    Швидкий вхід (CTO · аудитори · агенти)

    Вітаємо — місія та аудиторії
    Швидкий довідник
    Початок роботи
    Архітектура та Auth.js
    Режими бекенду та БД (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безпека та відповідність
    ringdom.org — база LegioX
    Код — ліцензія MIT (GitHub)
    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Публічні пули та DAO-банки

    Публічні пули — це спільнотні банки фінансування для кожного клону. Учасники ставлять вподобайки й роблять внески до цілі у native token; документація вбудовує той самий банк через <FutureFeatureWidget />. Продуктові маршрути живуть під /dao (не /pools). SSOT коштів для внесків карткою/PayPal — призначення PaymentConductor public_pool_contribution, а не API PSP «donation product».

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Видимість бічної панелі контролює lib/docs/audience-curated-docs.ts.

    Не donation-банки PSP

    Hosted Донати WayForPay, Stripe Checkout submit_type=donate і PayPal Donate SDK не є SSOT банок Ring. Внески Ring карткою/PayPal використовують PaymentConductor.createCheckout({ purpose: 'public_pool_contribution' }) через POST /api/public-pools/[slug]/card-checkout. Нативні внески використовують SPL-переказ до treasury (contributeToPool) — поза Conductor.

    Що випущено (2026-07-21)

    НапрямСтатусІстина
    Інтерактивний чат Tier ALivepoll, rsvp, dao_jar, share_card виправлено (оновлення jar, RSVP зустрічі, cron closeAt poll, заблоковані голоси)
    TD-MONEY-01 Card jarLiveПризначення public_pool_contribution; settle збільшує pledged_native_token через desk oracle FX
    TD-MONEY-02 Builder payoutLiveПри фінансуванні ≥100%: авто-завершення + treasury виплачує builder net (pledged − комісія ролі) на основний Solana wallet builder
    TD-MONEY-03 EscrowPartialAnchor-програма в solana/programs/public-pool (init/contribute/finalize/refund). Donation path live; on-chain escrow contribute потребує deploy + IDL wire
    Dual-currency CTALivePoolContributePanel — fiat для картки/PayPal; native symbol для внеску; показує credit + native balances
    Не стверджуйте цього

    Card jar — не конвертація fiat↔RING 1:1. PublicPool escrow — не live у production. Builder payout — не завжди дорівнює всій сумі pledged (комісія 0 лише для ролей admin/superadmin за замовчуванням).

    Грошові шляхи (спільні)

    Грошові шляхи публічного пулу

    SSOT FX (той самий, що й у Token Desk): nativeUi = fiatMajor / nativePerMainCurrency через getNativeTokenPerMainCurrencyRate / features/public-pools/lib/public-pool-desk-fx.ts.

    SSOT комісії платформи: ring-config.json → publicPools.platformFeePercentByRole (типові значення: admin/superadmin 0%, confidential 6%, member 7%).

    Чому банки важливі для вашого клону

    Учасники фінансують функції та колективні цілі у вашому native token (а картковий fiat конвертується за актуальним desk rate). Коли банк заповнюється, власник opportunity отримує net native token на свій основний custodial Solana wallet — за мінусом налаштованої комісії ролі. Форми collective-order показують це явно (collectiveJarPayoutNote у локалях opportunities).

    PaymentConductor

    Призначення картки/PayPal public_pool_contribution використовує той самий ledger і webhooks, що й store та wallet.

    Wallet & Token Desk

    Ставка desk oracle — той самий FX, який використовується, коли картковий внесок стає pledged native units.

    Messaging

    Віджети чату оновлюються після внеску; публікуйте банки з документації або .

    Реалізація

    Поверхні

    ПоверхняШлях
    Публічний список / деталі/[locale]/dao, /[locale]/dao/[slug]
    Адмін/[locale]/admin/dao
    Віджет документаціїcomponents/docs/future-feature-widget.tsx → PoolContributePanel
    Jar у чатіfeatures/public-pools/components/dao-jar-message-widget.tsx
    Dual CTAfeatures/public-pools/components/pool-contribute-panel.tsx

    Перевірений HTTP / settle

    МетодШляхРоль

    Пов’язана документація

    Related documentation

    PaymentConductor

    Залежність: settle картки/PayPal для jar використовує PaymentPurpose public_pool_contribution і спільні webhooks.

    Wallet & Credit System

    Залежність: nativePerMainCurrency від desk oracle — SSOT FX для fiat→pledged native.

    Real-Time Messaging

    Той самий процес: віджети dao_jar і PostDaoJarToChatButton оновлюються після внеску.

    Opportunities

    Наступний крок: колективні банки виплачують у wallet builder opportunity, коли фінансування сягає 100%.

    Публічні пули та DAO-банки

    Публічні пули — це спільнотні банки фінансування для кожного клону. Учасники ставлять вподобайки й роблять внески до цілі у native token; документація вбудовує той самий банк через <FutureFeatureWidget />. Продуктові маршрути живуть під /dao (не /pools). SSOT коштів для внесків карткою/PayPal — призначення PaymentConductor public_pool_contribution, а не API PSP «donation product».

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Видимість бічної панелі контролює lib/docs/audience-curated-docs.ts.

    Не donation-банки PSP

    Hosted Донати WayForPay, Stripe Checkout submit_type=donate і PayPal Donate SDK не є SSOT банок Ring. Внески Ring карткою/PayPal використовують PaymentConductor.createCheckout({ purpose: 'public_pool_contribution' }) через POST /api/public-pools/[slug]/card-checkout. Нативні внески використовують SPL-переказ до treasury (contributeToPool) — поза Conductor.

    Що випущено (2026-07-21)

    НапрямСтатусІстина
    Інтерактивний чат Tier ALivepoll, rsvp, dao_jar, share_card виправлено (оновлення jar, RSVP зустрічі, cron closeAt poll, заблоковані голоси)
    TD-MONEY-01 Card jarLiveПризначення public_pool_contribution; settle збільшує pledged_native_token через desk oracle FX
    TD-MONEY-02 Builder payoutLiveПри фінансуванні ≥100%: авто-завершення + treasury виплачує builder net (pledged − комісія ролі) на основний Solana wallet builder
    TD-MONEY-03 EscrowPartialAnchor-програма в solana/programs/public-pool (init/contribute/finalize/refund). Donation path live; on-chain escrow contribute потребує deploy + IDL wire
    Dual-currency CTALivePoolContributePanel — fiat для картки/PayPal; native symbol для внеску; показує credit + native balances
    Не стверджуйте цього

    Card jar — не конвертація fiat↔RING 1:1. PublicPool escrow — не live у production. Builder payout — не завжди дорівнює всій сумі pledged (комісія 0 лише для ролей admin/superadmin за замовчуванням).

    Грошові шляхи (спільні)

    Грошові шляхи публічного пулу

    SSOT FX (той самий, що й у Token Desk): nativeUi = fiatMajor / nativePerMainCurrency через getNativeTokenPerMainCurrencyRate / features/public-pools/lib/public-pool-desk-fx.ts.

    SSOT комісії платформи: ring-config.json → publicPools.platformFeePercentByRole (типові значення: admin/superadmin 0%, confidential 6%, member 7%).

    Чому банки важливі для вашого клону

    Учасники фінансують функції та колективні цілі у вашому native token (а картковий fiat конвертується за актуальним desk rate). Коли банк заповнюється, власник opportunity отримує net native token на свій основний custodial Solana wallet — за мінусом налаштованої комісії ролі. Форми collective-order показують це явно (collectiveJarPayoutNote у локалях opportunities).

    PaymentConductor

    Призначення картки/PayPal public_pool_contribution використовує той самий ledger і webhooks, що й store та wallet.

    Wallet & Token Desk

    Ставка desk oracle — той самий FX, який використовується, коли картковий внесок стає pledged native units.

    Messaging

    Віджети чату оновлюються після внеску; публікуйте банки з документації або .

    Реалізація

    Поверхні

    ПоверхняШлях
    Публічний список / деталі/[locale]/dao, /[locale]/dao/[slug]
    Адмін/[locale]/admin/dao
    Віджет документаціїcomponents/docs/future-feature-widget.tsx → PoolContributePanel
    Jar у чатіfeatures/public-pools/components/dao-jar-message-widget.tsx
    Dual CTAfeatures/public-pools/components/pool-contribute-panel.tsx

    Перевірений HTTP / settle

    МетодШляхРоль

    Пов’язана документація

    Related documentation

    PaymentConductor

    Залежність: settle картки/PayPal для jar використовує PaymentPurpose public_pool_contribution і спільні webhooks.

    Wallet & Credit System

    Залежність: nativePerMainCurrency від desk oracle — SSOT FX для fiat→pledged native.

    Real-Time Messaging

    Той самий процес: віджети dao_jar і PostDaoJarToChatButton оновлюються після внеску.

    Opportunities

    Наступний крок: колективні банки виплачують у wallet builder opportunity, коли фінансування сягає 100%.

    Публічні пули та DAO-банки

    Публічні пули — це спільнотні банки фінансування для кожного клону. Учасники ставлять вподобайки й роблять внески до цілі у native token; документація вбудовує той самий банк через <FutureFeatureWidget />. Продуктові маршрути живуть під /dao (не /pools). SSOT коштів для внесків карткою/PayPal — призначення PaymentConductor public_pool_contribution, а не API PSP «donation product».

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Видимість бічної панелі контролює lib/docs/audience-curated-docs.ts.

    Не donation-банки PSP

    Hosted Донати WayForPay, Stripe Checkout submit_type=donate і PayPal Donate SDK не є SSOT банок Ring. Внески Ring карткою/PayPal використовують PaymentConductor.createCheckout({ purpose: 'public_pool_contribution' }) через POST /api/public-pools/[slug]/card-checkout. Нативні внески використовують SPL-переказ до treasury (contributeToPool) — поза Conductor.

    Що випущено (2026-07-21)

    НапрямСтатусІстина
    Інтерактивний чат Tier ALivepoll, rsvp, dao_jar, share_card виправлено (оновлення jar, RSVP зустрічі, cron closeAt poll, заблоковані голоси)
    TD-MONEY-01 Card jarLiveПризначення public_pool_contribution; settle збільшує pledged_native_token через desk oracle FX
    TD-MONEY-02 Builder payoutLiveПри фінансуванні ≥100%: авто-завершення + treasury виплачує builder net (pledged − комісія ролі) на основний Solana wallet builder
    TD-MONEY-03 EscrowPartialAnchor-програма в solana/programs/public-pool (init/contribute/finalize/refund). Donation path live; on-chain escrow contribute потребує deploy + IDL wire
    Dual-currency CTALivePoolContributePanel — fiat для картки/PayPal; native symbol для внеску; показує credit + native balances
    Не стверджуйте цього

    Card jar — не конвертація fiat↔RING 1:1. PublicPool escrow — не live у production. Builder payout — не завжди дорівнює всій сумі pledged (комісія 0 лише для ролей admin/superadmin за замовчуванням).

    Грошові шляхи (спільні)

    Грошові шляхи публічного пулу

    SSOT FX (той самий, що й у Token Desk): nativeUi = fiatMajor / nativePerMainCurrency через getNativeTokenPerMainCurrencyRate / features/public-pools/lib/public-pool-desk-fx.ts.

    SSOT комісії платформи: ring-config.json → publicPools.platformFeePercentByRole (типові значення: admin/superadmin 0%, confidential 6%, member 7%).

    Чому банки важливі для вашого клону

    Учасники фінансують функції та колективні цілі у вашому native token (а картковий fiat конвертується за актуальним desk rate). Коли банк заповнюється, власник opportunity отримує net native token на свій основний custodial Solana wallet — за мінусом налаштованої комісії ролі. Форми collective-order показують це явно (collectiveJarPayoutNote у локалях opportunities).

    PaymentConductor

    Призначення картки/PayPal public_pool_contribution використовує той самий ledger і webhooks, що й store та wallet.

    Wallet & Token Desk

    Ставка desk oracle — той самий FX, який використовується, коли картковий внесок стає pledged native units.

    Messaging

    Віджети чату оновлюються після внеску; публікуйте банки з документації або .

    Реалізація

    Поверхні

    ПоверхняШлях
    Публічний список / деталі/[locale]/dao, /[locale]/dao/[slug]
    Адмін/[locale]/admin/dao
    Віджет документаціїcomponents/docs/future-feature-widget.tsx → PoolContributePanel
    Jar у чатіfeatures/public-pools/components/dao-jar-message-widget.tsx
    Dual CTAfeatures/public-pools/components/pool-contribute-panel.tsx

    Перевірений HTTP / settle

    МетодШляхРоль

    Пов’язана документація

    Related documentation

    PaymentConductor

    Залежність: settle картки/PayPal для jar використовує PaymentPurpose public_pool_contribution і спільні webhooks.

    Wallet & Credit System

    Залежність: nativePerMainCurrency від desk oracle — SSOT FX для fiat→pledged native.

    Real-Time Messaging

    Той самий процес: віджети dao_jar і PostDaoJarToChatButton оновлюються після внеску.

    Opportunities

    Наступний крок: колективні банки виплачують у wallet builder opportunity, коли фінансування сягає 100%.

    dao_jar
    /dao

    Opportunities

    Колективні / builder-банки виплачують на основний native wallet власника opportunity, коли заповнюються.

    Чекліст оператора

    1. Увімкніть public pools у конфігурації клону (publicPools у ring-config.json) — карта комісій + autoPayoutOnGoalMet.
    2. Налаштуйте Solana treasury (SOLANA_RPC_URL, SOLANA_TREASURY_PRIVATE_KEY), щоб native внески та виплати builder могли переміщувати SPL.
    3. Підтримуйте Token Desk / web3 oracle у робочому стані — card settle потребує getNativeTokenPerMainCurrencyRate.
    4. Не вмикайте UX escrow, доки не розгорнете solana/programs/public-pool і не встановите NEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID.
    5. Перевірте малий картковий внесок на /dao/[slug] і підтвердьте, що pledged native зростає в desk-конвертованих одиницях, а не 1:1 fiat.

    Типові сценарії

    • Елемент backlog документації з <FutureFeatureWidget poolSlug="…" /> — учасники ставлять вподобайку й роблять внесок зі сторінки.
    • Чат dao_jar — та сама панель; підсумки оновлюються через refreshOpenDaoJarMessages.
    • Collective opportunity заповнюється → статус completed → treasury виплачує net RING на wallet builder.
    GET/POST/api/public-poolsСписок / upsert статистики future_feature
    POST/api/public-pools/signalПеремикач like
    POST/api/public-pools/contributeІніціація native
    POST/api/public-pools/contribute/confirmNative confirm + оновлення jar
    POST/api/public-pools/[slug]/card-checkoutCheckout картки/PayPal через Conductor
    */api/admin/public-pools…CRUD + статус для адміна

    Settle: lib/payments/conductor/handlers/public-pool-contribution.ts → settlePublicPoolCardContribution (ідемпотентний за orderReference). Webhooks: гілки диспетчера WayForPay / Stripe / PayPal перевіряють purpose === 'public_pool_contribution'.

    Необов’язкове перевизначення процесора: PAYMENT_PUBLIC_POOL_CONTRIBUTION_PROCESSOR (lib/payments/payment.config.ts).

    Модулі

    МодульВідповідальність
    features/public-pools/services/public-pool-service.tsПідсумки, queue gate, auto-complete, виплата builder
    features/public-pools/services/public-pool-contribute.tsВнесок до native treasury
    features/public-pools/lib/public-pool-desk-fx.tsFX desk oracle
    features/public-pools/lib/public-pool-platform-fee.tsКарта комісій за ролями
    features/public-pools/lib/public-pool-escrow-gate.tsNEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID / PUBLIC_POOL_PROGRAM_ID
    lib/payments/conductor/settle-public-pool-contribution.tsCard settle → pledged_native_token
    features/chat/lib/refresh-open-dao-jar-messages.tsСинхронізація знімка чату
    solana/programs/public-poolAnchor: init_pool / contribute / finalize_success / refund_contributor

    Desk FX (перевірено)

    Card checkout приймає amount_fiat або amount_native і перед redirect завжди зберігає обидва значення + nativePerMainCurrency у payment metadata.

    Виплата builder (перевірено)

    Коли autoPayoutOnGoalMet і funding ≥ 100%:

    1. Pool → completed
    2. Визначити payout_wallet_address або основний native wallet builder
    3. feePercent = resolveBuilderPlatformFeePercent(builderRole)
    4. net = pledged − fee; transferTokenFromTreasury(wallet, net)
    5. Примітка ledger public_pool_payout із gross/fee/feePct

    Текст collective-order: locales/*/modules/opportunities.json → collectiveJarPayoutNote.

    Гейт escrow (не live у production)

    Donation mode (treasury SPL) — live-шлях. Escrow contribute потребує: deploy програми → встановити NEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID → підключити IDL client → зберігати on_chain { pool_pda, vault_ata } для кожного jar. Не документуйте escrow як live у production.

    Env (простежено)

    VarВикористання
    SOLANA_RPC_URLChain RPC
    SOLANA_TREASURY_PRIVATE_KEYNative внесок + виплата builder
    NEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID / PUBLIC_POOL_PROGRAM_IDГейт escrow (необов’язково; ще немає в env.local.template)
    PAYMENT_PUBLIC_POOL_CONTRIBUTION_PROCESSORНеобов’язкове перевизначення PSP для призначення
    Standard WFP / Stripe / PayPal secretsТі самі webhooks Conductor, що й для інших призначень

    Колекції

    public_pools, public_pool_signals, public_pool_contributions (ізолюються за clone через getPublicPoolConfig().cloneId).

    Інтерактивний чат (Tier A)

    Домен володіє коштами; чат володіє знімком dao_jar. Після зміни підсумків завжди викликайте refreshOpenDaoJarMessages. Scorecard: AI-CONTEXT concepts/chat-interactive-type-debt.json — Tier A CLOSED; TD-MONEY-01/02 CLOSED; TD-MONEY-03 PARTIAL.

    PaymentConductor architecture

    Поглиблення: типи conductor, ledger і диспетчер webhook.

    ts
    
    // features/public-pools/lib/public-pool-desk-fx.ts
    // nativeUi = fiatMajor / nativePerMainCurrency
    // nativePerMainCurrency from getNativeTokenPerMainCurrencyRate() — same SSOT as Token Desk
    ts
    
    // features/public-pools/lib/public-pool-escrow-gate.ts
    isPublicPoolEscrowDeployed() // true only when PROGRAM_ID env is set
    dao_jar
    /dao

    Opportunities

    Колективні / builder-банки виплачують на основний native wallet власника opportunity, коли заповнюються.

    Чекліст оператора

    1. Увімкніть public pools у конфігурації клону (publicPools у ring-config.json) — карта комісій + autoPayoutOnGoalMet.
    2. Налаштуйте Solana treasury (SOLANA_RPC_URL, SOLANA_TREASURY_PRIVATE_KEY), щоб native внески та виплати builder могли переміщувати SPL.
    3. Підтримуйте Token Desk / web3 oracle у робочому стані — card settle потребує getNativeTokenPerMainCurrencyRate.
    4. Не вмикайте UX escrow, доки не розгорнете solana/programs/public-pool і не встановите NEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID.
    5. Перевірте малий картковий внесок на /dao/[slug] і підтвердьте, що pledged native зростає в desk-конвертованих одиницях, а не 1:1 fiat.

    Типові сценарії

    • Елемент backlog документації з <FutureFeatureWidget poolSlug="…" /> — учасники ставлять вподобайку й роблять внесок зі сторінки.
    • Чат dao_jar — та сама панель; підсумки оновлюються через refreshOpenDaoJarMessages.
    • Collective opportunity заповнюється → статус completed → treasury виплачує net RING на wallet builder.
    GET/POST/api/public-poolsСписок / upsert статистики future_feature
    POST/api/public-pools/signalПеремикач like
    POST/api/public-pools/contributeІніціація native
    POST/api/public-pools/contribute/confirmNative confirm + оновлення jar
    POST/api/public-pools/[slug]/card-checkoutCheckout картки/PayPal через Conductor
    */api/admin/public-pools…CRUD + статус для адміна

    Settle: lib/payments/conductor/handlers/public-pool-contribution.ts → settlePublicPoolCardContribution (ідемпотентний за orderReference). Webhooks: гілки диспетчера WayForPay / Stripe / PayPal перевіряють purpose === 'public_pool_contribution'.

    Необов’язкове перевизначення процесора: PAYMENT_PUBLIC_POOL_CONTRIBUTION_PROCESSOR (lib/payments/payment.config.ts).

    Модулі

    МодульВідповідальність
    features/public-pools/services/public-pool-service.tsПідсумки, queue gate, auto-complete, виплата builder
    features/public-pools/services/public-pool-contribute.tsВнесок до native treasury
    features/public-pools/lib/public-pool-desk-fx.tsFX desk oracle
    features/public-pools/lib/public-pool-platform-fee.tsКарта комісій за ролями
    features/public-pools/lib/public-pool-escrow-gate.tsNEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID / PUBLIC_POOL_PROGRAM_ID
    lib/payments/conductor/settle-public-pool-contribution.tsCard settle → pledged_native_token
    features/chat/lib/refresh-open-dao-jar-messages.tsСинхронізація знімка чату
    solana/programs/public-poolAnchor: init_pool / contribute / finalize_success / refund_contributor

    Desk FX (перевірено)

    Card checkout приймає amount_fiat або amount_native і перед redirect завжди зберігає обидва значення + nativePerMainCurrency у payment metadata.

    Виплата builder (перевірено)

    Коли autoPayoutOnGoalMet і funding ≥ 100%:

    1. Pool → completed
    2. Визначити payout_wallet_address або основний native wallet builder
    3. feePercent = resolveBuilderPlatformFeePercent(builderRole)
    4. net = pledged − fee; transferTokenFromTreasury(wallet, net)
    5. Примітка ledger public_pool_payout із gross/fee/feePct

    Текст collective-order: locales/*/modules/opportunities.json → collectiveJarPayoutNote.

    Гейт escrow (не live у production)

    Donation mode (treasury SPL) — live-шлях. Escrow contribute потребує: deploy програми → встановити NEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID → підключити IDL client → зберігати on_chain { pool_pda, vault_ata } для кожного jar. Не документуйте escrow як live у production.

    Env (простежено)

    VarВикористання
    SOLANA_RPC_URLChain RPC
    SOLANA_TREASURY_PRIVATE_KEYNative внесок + виплата builder
    NEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID / PUBLIC_POOL_PROGRAM_IDГейт escrow (необов’язково; ще немає в env.local.template)
    PAYMENT_PUBLIC_POOL_CONTRIBUTION_PROCESSORНеобов’язкове перевизначення PSP для призначення
    Standard WFP / Stripe / PayPal secretsТі самі webhooks Conductor, що й для інших призначень

    Колекції

    public_pools, public_pool_signals, public_pool_contributions (ізолюються за clone через getPublicPoolConfig().cloneId).

    Інтерактивний чат (Tier A)

    Домен володіє коштами; чат володіє знімком dao_jar. Після зміни підсумків завжди викликайте refreshOpenDaoJarMessages. Scorecard: AI-CONTEXT concepts/chat-interactive-type-debt.json — Tier A CLOSED; TD-MONEY-01/02 CLOSED; TD-MONEY-03 PARTIAL.

    PaymentConductor architecture

    Поглиблення: типи conductor, ledger і диспетчер webhook.

    ts
    
    // features/public-pools/lib/public-pool-desk-fx.ts
    // nativeUi = fiatMajor / nativePerMainCurrency
    // nativePerMainCurrency from getNativeTokenPerMainCurrencyRate() — same SSOT as Token Desk
    ts
    
    // features/public-pools/lib/public-pool-escrow-gate.ts
    isPublicPoolEscrowDeployed() // true only when PROGRAM_ID env is set
    dao_jar
    /dao

    Opportunities

    Колективні / builder-банки виплачують на основний native wallet власника opportunity, коли заповнюються.

    Чекліст оператора

    1. Увімкніть public pools у конфігурації клону (publicPools у ring-config.json) — карта комісій + autoPayoutOnGoalMet.
    2. Налаштуйте Solana treasury (SOLANA_RPC_URL, SOLANA_TREASURY_PRIVATE_KEY), щоб native внески та виплати builder могли переміщувати SPL.
    3. Підтримуйте Token Desk / web3 oracle у робочому стані — card settle потребує getNativeTokenPerMainCurrencyRate.
    4. Не вмикайте UX escrow, доки не розгорнете solana/programs/public-pool і не встановите NEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID.
    5. Перевірте малий картковий внесок на /dao/[slug] і підтвердьте, що pledged native зростає в desk-конвертованих одиницях, а не 1:1 fiat.

    Типові сценарії

    • Елемент backlog документації з <FutureFeatureWidget poolSlug="…" /> — учасники ставлять вподобайку й роблять внесок зі сторінки.
    • Чат dao_jar — та сама панель; підсумки оновлюються через refreshOpenDaoJarMessages.
    • Collective opportunity заповнюється → статус completed → treasury виплачує net RING на wallet builder.
    GET/POST/api/public-poolsСписок / upsert статистики future_feature
    POST/api/public-pools/signalПеремикач like
    POST/api/public-pools/contributeІніціація native
    POST/api/public-pools/contribute/confirmNative confirm + оновлення jar
    POST/api/public-pools/[slug]/card-checkoutCheckout картки/PayPal через Conductor
    */api/admin/public-pools…CRUD + статус для адміна

    Settle: lib/payments/conductor/handlers/public-pool-contribution.ts → settlePublicPoolCardContribution (ідемпотентний за orderReference). Webhooks: гілки диспетчера WayForPay / Stripe / PayPal перевіряють purpose === 'public_pool_contribution'.

    Необов’язкове перевизначення процесора: PAYMENT_PUBLIC_POOL_CONTRIBUTION_PROCESSOR (lib/payments/payment.config.ts).

    Модулі

    МодульВідповідальність
    features/public-pools/services/public-pool-service.tsПідсумки, queue gate, auto-complete, виплата builder
    features/public-pools/services/public-pool-contribute.tsВнесок до native treasury
    features/public-pools/lib/public-pool-desk-fx.tsFX desk oracle
    features/public-pools/lib/public-pool-platform-fee.tsКарта комісій за ролями
    features/public-pools/lib/public-pool-escrow-gate.tsNEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID / PUBLIC_POOL_PROGRAM_ID
    lib/payments/conductor/settle-public-pool-contribution.tsCard settle → pledged_native_token
    features/chat/lib/refresh-open-dao-jar-messages.tsСинхронізація знімка чату
    solana/programs/public-poolAnchor: init_pool / contribute / finalize_success / refund_contributor

    Desk FX (перевірено)

    Card checkout приймає amount_fiat або amount_native і перед redirect завжди зберігає обидва значення + nativePerMainCurrency у payment metadata.

    Виплата builder (перевірено)

    Коли autoPayoutOnGoalMet і funding ≥ 100%:

    1. Pool → completed
    2. Визначити payout_wallet_address або основний native wallet builder
    3. feePercent = resolveBuilderPlatformFeePercent(builderRole)
    4. net = pledged − fee; transferTokenFromTreasury(wallet, net)
    5. Примітка ledger public_pool_payout із gross/fee/feePct

    Текст collective-order: locales/*/modules/opportunities.json → collectiveJarPayoutNote.

    Гейт escrow (не live у production)

    Donation mode (treasury SPL) — live-шлях. Escrow contribute потребує: deploy програми → встановити NEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID → підключити IDL client → зберігати on_chain { pool_pda, vault_ata } для кожного jar. Не документуйте escrow як live у production.

    Env (простежено)

    VarВикористання
    SOLANA_RPC_URLChain RPC
    SOLANA_TREASURY_PRIVATE_KEYNative внесок + виплата builder
    NEXT_PUBLIC_PUBLIC_POOL_PROGRAM_ID / PUBLIC_POOL_PROGRAM_IDГейт escrow (необов’язково; ще немає в env.local.template)
    PAYMENT_PUBLIC_POOL_CONTRIBUTION_PROCESSORНеобов’язкове перевизначення PSP для призначення
    Standard WFP / Stripe / PayPal secretsТі самі webhooks Conductor, що й для інших призначень

    Колекції

    public_pools, public_pool_signals, public_pool_contributions (ізолюються за clone через getPublicPoolConfig().cloneId).

    Інтерактивний чат (Tier A)

    Домен володіє коштами; чат володіє знімком dao_jar. Після зміни підсумків завжди викликайте refreshOpenDaoJarMessages. Scorecard: AI-CONTEXT concepts/chat-interactive-type-debt.json — Tier A CLOSED; TD-MONEY-01/02 CLOSED; TD-MONEY-03 PARTIAL.

    PaymentConductor architecture

    Поглиблення: типи conductor, ledger і диспетчер webhook.

    ts
    
    // features/public-pools/lib/public-pool-desk-fx.ts
    // nativeUi = fiatMajor / nativePerMainCurrency
    // nativePerMainCurrency from getNativeTokenPerMainCurrencyRate() — same SSOT as Token Desk
    ts
    
    // features/public-pools/lib/public-pool-escrow-gate.ts
    isPublicPoolEscrowDeployed() // true only when PROGRAM_ID env is set
    1. Документація
    2. /Функції
    3. /Публічні пули та DAO-банки

    Оновлено 6 вер. 2026 р.5 хв прослуховування

    1. Документація
    2. /Функції
    3. /Публічні пули та DAO-банки

    Оновлено 6 вер. 2026 р.5 хв прослуховування

    1. Документація
    2. /Функції
    3. /Публічні пули та DAO-банки

    Оновлено 6 вер. 2026 р.5 хв прослуховування