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

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

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

    Documentation

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

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    AI Matcher
    Повідомлення
    Завдання 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)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура News Kingdom
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server
    OSS і enterprise

    Швидкий вхід (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)
    Сутності
    Можливості
    AI Matcher
    Повідомлення
    Завдання 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)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура News Kingdom
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server
    OSS і enterprise

    Швидкий вхід (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)
    Сутності
    Можливості
    AI Matcher
    Повідомлення
    Завдання 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)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура News Kingdom
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server
    OSS і enterprise

    Швидкий вхід (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

    WalletConductor

    WalletConductor — це фасад оркестрації Ring Platform для грошових шляхів кастодіального native-token web3 і фіатного кредиту. Тонкі адаптери (app/_actions/wallet.ts, /api/wallet/token/*, /api/wallet/desk/*, покупка на NFT-маркетплейсі) викликають conductor; він делегує PSP до PaymentConductor, а обчислення реєстру — до creditBalanceService.

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Користувацький UI продукту: Wallet. Реєстр HTTP/actions: Wallet API.

    Підсумок для керівництва

    Один шар для грошових операцій гаманця: картка → кредитні бали, desk → native token, кастодіальні gasless-відправлення, довільне списання кредиту та покупки на NFT-маркетплейсі. Облік фіатних витрат використовує credit.creditBalanceUnitToMainCurrency (зазвичай 1) — ніколи не oracle desk. Зовнішні EVM POL/USDT через POST /api/wallet/transfer залишаються поза цим conductor.

    WalletConductor — грошові шляхи

    За що відповідає WalletConductor

    МожливістьМетодРезультат
    Картка → кредитні балиinitiateTopUpPaymentConductor wallet_topup → кредит фіатного реєстру
    Картка/PayPal → treasury nativeinitiateNativeOnrampPaymentConductor native_token_onramp (confidential+)
    Token DeskquoteDesk / executeDeskКредитні бали ↔ native за oracle desk (subscriber+)
    Кастодіальне відправленняtransferNativeGasless-переказ native + рядок у wallet_transactions
    Native-балансgetNativeBalanceКастодіальний баланс native chain платформи
    Межа conductor

    Не входить до WalletConductor: дебет checkout магазину/членства (PaymentConductor credit_balance / SubscriptionConductor) і зовнішній EVM POST /api/wallet/transfer. Це навмисно окремі шляхи SSOT.

    Дві ставки — не змішуйте їх

    СтавкаSSOTВикористовують
    Облік фіатного кредитуring-config.json → credit.creditBalanceUnitToMainCurrency (зазвичай 1) через getMainCurrencyCreditAccountingRate()spendCredits, дебетова сторона desk, checkout credit_balance
    Oracle Token Deskplatform_settings.web3.oracle.nativePerMainCurrency через native-token-oracle.tsЛише бали ↔ native у quoteDesk / executeDesk

    Чому це важливо для вашого клону

    WalletConductor — грошовий хребет для оператора за продуктом Wallet. Учасники бачать UI поповнення, desk і відправлення; ваш клон залишається узгодженим, бо кожен шлях проходить через один фасад, а не через розрізнені виклики PSP і реєстру.

    Поповнення кредиту

    Будь-який авторизований учасник купує кредитні бали карткою. Бали — це одиниці фіатного реєстру (1:1 з mainCurrency магазину, коли creditBalanceUnitToMainCurrency дорівнює 1).

    Token Desk

    Учасник із рівнем Subscriber+ конвертує бали ↔ native за oracle desk. Зміна nativePerMainCurrency ніколи не переписує математику checkout магазину чи довільного списання кредиту.

    Native onramp

    Confidential+ картка/PayPal → treasury native (під керуванням feature flag). Кредитні бали додаються.

    Реалізація

    Фасад: features/wallet/conductor/wallet-conductor.ts (server-only).

    Підключення поверхні

    1. 1

      Викликайте фасад, а не реєстр

      UI і routes мають імпортувати WalletConductor (або тонкі обгортки в app/_actions/wallet.ts). Не списуйте кошти через creditBalanceService з feature UI для шляхів, за які відповідає conductor.

    2. 2

      Зберігайте SSOT фіатної ставки

      Для шляхів витрат опускайте usdRate або передавайте getMainCurrencyCreditAccountingRate(). Ніколи не підставляйте nativePerMainCurrency / oracle desk у дебети фіатного реєстру.

    3. 3

      Дотримуйтеся межі EVM

      Кастодіальне native-відправлення — це transferNative. Зовнішній SupportedCrypto (POL/USDT) залишається на POST /api/wallet/transfer — не включайте його до WalletConductor без явного redesign.

    Карта модулів

    РівеньШлях
    Фасадfeatures/wallet/conductor/wallet-conductor.ts
    Створення

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

    Generative Gallery

    Генеративний білінг із пріоритетом кредиту через spendCredits + реєстр generative_usage.

    Архітектура WalletConductor

    Адаптери, карта routes, послідовності, SSOT env.

    Функція Wallet

    Архітектура продукту та користувацькі потоки.

    Wallet API

    Actions, HTTP routes, таблиці SSOT ставок.

    1. Документація
    2. /Функції
    3. /WalletConductor

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

    WalletConductor

    WalletConductor — це фасад оркестрації Ring Platform для грошових шляхів кастодіального native-token web3 і фіатного кредиту. Тонкі адаптери (app/_actions/wallet.ts, /api/wallet/token/*, /api/wallet/desk/*, покупка на NFT-маркетплейсі) викликають conductor; він делегує PSP до PaymentConductor, а обчислення реєстру — до creditBalanceService.

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Користувацький UI продукту: Wallet. Реєстр HTTP/actions: Wallet API.

    Підсумок для керівництва

    Один шар для грошових операцій гаманця: картка → кредитні бали, desk → native token, кастодіальні gasless-відправлення, довільне списання кредиту та покупки на NFT-маркетплейсі. Облік фіатних витрат використовує credit.creditBalanceUnitToMainCurrency (зазвичай 1) — ніколи не oracle desk. Зовнішні EVM POL/USDT через POST /api/wallet/transfer залишаються поза цим conductor.

    WalletConductor — грошові шляхи

    За що відповідає WalletConductor

    МожливістьМетодРезультат
    Картка → кредитні балиinitiateTopUpPaymentConductor wallet_topup → кредит фіатного реєстру
    Картка/PayPal → treasury nativeinitiateNativeOnrampPaymentConductor native_token_onramp (confidential+)
    Token DeskquoteDesk / executeDeskКредитні бали ↔ native за oracle desk (subscriber+)
    Кастодіальне відправленняtransferNativeGasless-переказ native + рядок у wallet_transactions
    Native-балансgetNativeBalanceКастодіальний баланс native chain платформи
    Межа conductor

    Не входить до WalletConductor: дебет checkout магазину/членства (PaymentConductor credit_balance / SubscriptionConductor) і зовнішній EVM POST /api/wallet/transfer. Це навмисно окремі шляхи SSOT.

    Дві ставки — не змішуйте їх

    СтавкаSSOTВикористовують
    Облік фіатного кредитуring-config.json → credit.creditBalanceUnitToMainCurrency (зазвичай 1) через getMainCurrencyCreditAccountingRate()spendCredits, дебетова сторона desk, checkout credit_balance
    Oracle Token Deskplatform_settings.web3.oracle.nativePerMainCurrency через native-token-oracle.tsЛише бали ↔ native у quoteDesk / executeDesk

    Чому це важливо для вашого клону

    WalletConductor — грошовий хребет для оператора за продуктом Wallet. Учасники бачать UI поповнення, desk і відправлення; ваш клон залишається узгодженим, бо кожен шлях проходить через один фасад, а не через розрізнені виклики PSP і реєстру.

    Поповнення кредиту

    Будь-який авторизований учасник купує кредитні бали карткою. Бали — це одиниці фіатного реєстру (1:1 з mainCurrency магазину, коли creditBalanceUnitToMainCurrency дорівнює 1).

    Token Desk

    Учасник із рівнем Subscriber+ конвертує бали ↔ native за oracle desk. Зміна nativePerMainCurrency ніколи не переписує математику checkout магазину чи довільного списання кредиту.

    Native onramp

    Confidential+ картка/PayPal → treasury native (під керуванням feature flag). Кредитні бали додаються.

    Реалізація

    Фасад: features/wallet/conductor/wallet-conductor.ts (server-only).

    Підключення поверхні

    1. 1

      Викликайте фасад, а не реєстр

      UI і routes мають імпортувати WalletConductor (або тонкі обгортки в app/_actions/wallet.ts). Не списуйте кошти через creditBalanceService з feature UI для шляхів, за які відповідає conductor.

    2. 2

      Зберігайте SSOT фіатної ставки

      Для шляхів витрат опускайте usdRate або передавайте getMainCurrencyCreditAccountingRate(). Ніколи не підставляйте nativePerMainCurrency / oracle desk у дебети фіатного реєстру.

    3. 3

      Дотримуйтеся межі EVM

      Кастодіальне native-відправлення — це transferNative. Зовнішній SupportedCrypto (POL/USDT) залишається на POST /api/wallet/transfer — не включайте його до WalletConductor без явного redesign.

    Карта модулів

    РівеньШлях
    Фасадfeatures/wallet/conductor/wallet-conductor.ts
    Створення

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

    Generative Gallery

    Генеративний білінг із пріоритетом кредиту через spendCredits + реєстр generative_usage.

    Архітектура WalletConductor

    Адаптери, карта routes, послідовності, SSOT env.

    Функція Wallet

    Архітектура продукту та користувацькі потоки.

    Wallet API

    Actions, HTTP routes, таблиці SSOT ставок.

    1. Документація
    2. /Функції
    3. /WalletConductor

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

    WalletConductor

    WalletConductor — це фасад оркестрації Ring Platform для грошових шляхів кастодіального native-token web3 і фіатного кредиту. Тонкі адаптери (app/_actions/wallet.ts, /api/wallet/token/*, /api/wallet/desk/*, покупка на NFT-маркетплейсі) викликають conductor; він делегує PSP до PaymentConductor, а обчислення реєстру — до creditBalanceService.

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Користувацький UI продукту: Wallet. Реєстр HTTP/actions: Wallet API.

    Підсумок для керівництва

    Один шар для грошових операцій гаманця: картка → кредитні бали, desk → native token, кастодіальні gasless-відправлення, довільне списання кредиту та покупки на NFT-маркетплейсі. Облік фіатних витрат використовує credit.creditBalanceUnitToMainCurrency (зазвичай 1) — ніколи не oracle desk. Зовнішні EVM POL/USDT через POST /api/wallet/transfer залишаються поза цим conductor.

    WalletConductor — грошові шляхи

    За що відповідає WalletConductor

    МожливістьМетодРезультат
    Картка → кредитні балиinitiateTopUpPaymentConductor wallet_topup → кредит фіатного реєстру
    Картка/PayPal → treasury nativeinitiateNativeOnrampPaymentConductor native_token_onramp (confidential+)
    Token DeskquoteDesk / executeDeskКредитні бали ↔ native за oracle desk (subscriber+)
    Кастодіальне відправленняtransferNativeGasless-переказ native + рядок у wallet_transactions
    Native-балансgetNativeBalanceКастодіальний баланс native chain платформи
    Межа conductor

    Не входить до WalletConductor: дебет checkout магазину/членства (PaymentConductor credit_balance / SubscriptionConductor) і зовнішній EVM POST /api/wallet/transfer. Це навмисно окремі шляхи SSOT.

    Дві ставки — не змішуйте їх

    СтавкаSSOTВикористовують
    Облік фіатного кредитуring-config.json → credit.creditBalanceUnitToMainCurrency (зазвичай 1) через getMainCurrencyCreditAccountingRate()spendCredits, дебетова сторона desk, checkout credit_balance
    Oracle Token Deskplatform_settings.web3.oracle.nativePerMainCurrency через native-token-oracle.tsЛише бали ↔ native у quoteDesk / executeDesk

    Чому це важливо для вашого клону

    WalletConductor — грошовий хребет для оператора за продуктом Wallet. Учасники бачать UI поповнення, desk і відправлення; ваш клон залишається узгодженим, бо кожен шлях проходить через один фасад, а не через розрізнені виклики PSP і реєстру.

    Поповнення кредиту

    Будь-який авторизований учасник купує кредитні бали карткою. Бали — це одиниці фіатного реєстру (1:1 з mainCurrency магазину, коли creditBalanceUnitToMainCurrency дорівнює 1).

    Token Desk

    Учасник із рівнем Subscriber+ конвертує бали ↔ native за oracle desk. Зміна nativePerMainCurrency ніколи не переписує математику checkout магазину чи довільного списання кредиту.

    Native onramp

    Confidential+ картка/PayPal → treasury native (під керуванням feature flag). Кредитні бали додаються.

    Реалізація

    Фасад: features/wallet/conductor/wallet-conductor.ts (server-only).

    Підключення поверхні

    1. 1

      Викликайте фасад, а не реєстр

      UI і routes мають імпортувати WalletConductor (або тонкі обгортки в app/_actions/wallet.ts). Не списуйте кошти через creditBalanceService з feature UI для шляхів, за які відповідає conductor.

    2. 2

      Зберігайте SSOT фіатної ставки

      Для шляхів витрат опускайте usdRate або передавайте getMainCurrencyCreditAccountingRate(). Ніколи не підставляйте nativePerMainCurrency / oracle desk у дебети фіатного реєстру.

    3. 3

      Дотримуйтеся межі EVM

      Кастодіальне native-відправлення — це transferNative. Зовнішній SupportedCrypto (POL/USDT) залишається на POST /api/wallet/transfer — не включайте його до WalletConductor без явного redesign.

    Карта модулів

    РівеньШлях
    Фасадfeatures/wallet/conductor/wallet-conductor.ts
    Створення

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

    Generative Gallery

    Генеративний білінг із пріоритетом кредиту через spendCredits + реєстр generative_usage.

    Архітектура WalletConductor

    Адаптери, карта routes, послідовності, SSOT env.

    Функція Wallet

    Архітектура продукту та користувацькі потоки.

    Wallet API

    Actions, HTTP routes, таблиці SSOT ставок.

    1. Документація
    2. /Функції
    3. /WalletConductor

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

    Довільне списання кредитуspendCreditsДебет фіатного реєстру за creditBalanceUnitToMainCurrency
    Створення гаманцяensureNativeWalletАтомарні мультичейн-гаманці (безпечні для OAuth, без сесії)
    Мінімальний кредитний порігensureFundedСтворення із сесією + мінімальний кредитний залишок
    Покупка на NFT-маркетплейсіpurchaseNftListingІдемпотентна покупка RING через Solana market client
    не

    Покупка на NFT-маркетплейсі

    Допущені покупці сплачують RING із кастодіального гаманця через purchaseNftListing (ідемпотентний рядок продажу).

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

    1. 1

      Підтвердьте SSOT одиниці кредиту

      Залишайте credit.creditBalanceUnitToMainCurrency: 1 у ring-config.json, якщо навмисно не масштабуєте бали відносно фіату. Зміни oracle desk не впливають на checkout магазину або POST /api/wallet/credit/spend.

    2. 2

      Відокремлюйте oracle desk від фіату

      Superadmin налаштовує nativePerMainCurrency лише для конвертації desk. Не очікуйте, що ця ставка буде використана для довільного списання кредиту.

    3. 3

      Обережно вмикайте native onramp

      Native onramp карткою доступний для confidential+ і керується feature flag (CONFIDENTIAL_TOKEN_ONRAMP / desk nativeTokenOnramp). Не вмикайте його, доки treasury ops і compliance не готові.

    Надавайте перевагу Server Actions з UI. Залишайте HTTP wallet routes для MCP і клієнтів без React. Надавайте перевагу /api/wallet/token/* — застарілі aliases /api/wallet/ring/* видалені.

    features/wallet/services/ensure-wallet.ts
    Кредитний реєстрfeatures/wallet/services/credit-balance-service.ts
    Фіатна ставкаlib/ring-config-core.ts → getCreditUnitToMainCurrencyRate / lib/payments/credit-balance.ts → getMainCurrencyCreditAccountingRate
    Deskfeatures/wallet/chains/solana/desk-service.ts
    Oracle deskfeatures/wallet/services/native-token-oracle.ts
    Кастодіальне відправленняfeatures/wallet/chains/native-token-transfer-service.ts
    Checkout PSPlib/payments/conductor/payment-conductor.ts
    Кредитний rail магазинуlib/payments/processors/credit-balance.processor.ts (PaymentConductor — не WC)
    Actionsapp/_actions/wallet.ts
    Покупка NFTfeatures/nft-market/services/solana-market-client.ts

    Контракти методів

    МетодAuth / gatesПримітки
    ensureNativeWalletCaller supplies idБезпечно для OAuth; повертає { ok, native, wallets }
    ensureFundedSessionСтворює + необов’язковий мінімум кредиту
    initiateTopUpSessionСума 25–2000; purpose wallet_topup
    initiateNativeOnrampSession + confidential metadataНеобов’язковий processor paypal/stripe/wayforpay
    quoteDesk / executeDeskassertTokenDeskSubscriberAccessSSOT Solana desk
    transferNativeCaller supplies userIdЗаписує wallet_transactions; працює з контактами
    spendCreditsCaller supplies userIdТипово використовує getMainCurrencyCreditAccountingRate() для usdRate
    purchaseNftListingIdempotency keyСтатуси: pending → submitted → confirmed / failed
    getNativeBalanceCaller supplies userIdТонка обгортка transfer service

    Послідовність — поповнення кредиту карткою

    initiateTopUp → wallet_topup

    У вкладці Card processor не передається (SSOT з env). Вкладка PayPal задає processor=paypal. Клієнт: lib/payments/checkout-redirect.ts.

    Послідовність — довільне списання кредиту

    spendCredits fiat SSOT

    Середовище й конфігурація (перевірено)

    KeyРоль
    WALLET_ENCRYPTION_KEYШифрування кастодіальних ключів
    SOLANA_RPC_URL / SOLANA_TREASURY_PRIVATE_KEYКастодіальний Solana + спонсорування gas
    CONFIDENTIAL_TOKEN_ONRAMP / desk nativeTokenOnrampGate native onramp карткою
    credit.creditBalanceUnitToMainCurrencyМножник обліку фіатного реєстру
    ORACLE_QUOTE_SECRET / RING_ORACLE_DEFAULT_RATEHMAC котирування desk + fallback

    PaymentConductor

    PSP rails, які використовують поповнення й onramp.

    Довільне списання кредитуspendCreditsДебет фіатного реєстру за creditBalanceUnitToMainCurrency
    Створення гаманцяensureNativeWalletАтомарні мультичейн-гаманці (безпечні для OAuth, без сесії)
    Мінімальний кредитний порігensureFundedСтворення із сесією + мінімальний кредитний залишок
    Покупка на NFT-маркетплейсіpurchaseNftListingІдемпотентна покупка RING через Solana market client
    не

    Покупка на NFT-маркетплейсі

    Допущені покупці сплачують RING із кастодіального гаманця через purchaseNftListing (ідемпотентний рядок продажу).

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

    1. 1

      Підтвердьте SSOT одиниці кредиту

      Залишайте credit.creditBalanceUnitToMainCurrency: 1 у ring-config.json, якщо навмисно не масштабуєте бали відносно фіату. Зміни oracle desk не впливають на checkout магазину або POST /api/wallet/credit/spend.

    2. 2

      Відокремлюйте oracle desk від фіату

      Superadmin налаштовує nativePerMainCurrency лише для конвертації desk. Не очікуйте, що ця ставка буде використана для довільного списання кредиту.

    3. 3

      Обережно вмикайте native onramp

      Native onramp карткою доступний для confidential+ і керується feature flag (CONFIDENTIAL_TOKEN_ONRAMP / desk nativeTokenOnramp). Не вмикайте його, доки treasury ops і compliance не готові.

    Надавайте перевагу Server Actions з UI. Залишайте HTTP wallet routes для MCP і клієнтів без React. Надавайте перевагу /api/wallet/token/* — застарілі aliases /api/wallet/ring/* видалені.

    features/wallet/services/ensure-wallet.ts
    Кредитний реєстрfeatures/wallet/services/credit-balance-service.ts
    Фіатна ставкаlib/ring-config-core.ts → getCreditUnitToMainCurrencyRate / lib/payments/credit-balance.ts → getMainCurrencyCreditAccountingRate
    Deskfeatures/wallet/chains/solana/desk-service.ts
    Oracle deskfeatures/wallet/services/native-token-oracle.ts
    Кастодіальне відправленняfeatures/wallet/chains/native-token-transfer-service.ts
    Checkout PSPlib/payments/conductor/payment-conductor.ts
    Кредитний rail магазинуlib/payments/processors/credit-balance.processor.ts (PaymentConductor — не WC)
    Actionsapp/_actions/wallet.ts
    Покупка NFTfeatures/nft-market/services/solana-market-client.ts

    Контракти методів

    МетодAuth / gatesПримітки
    ensureNativeWalletCaller supplies idБезпечно для OAuth; повертає { ok, native, wallets }
    ensureFundedSessionСтворює + необов’язковий мінімум кредиту
    initiateTopUpSessionСума 25–2000; purpose wallet_topup
    initiateNativeOnrampSession + confidential metadataНеобов’язковий processor paypal/stripe/wayforpay
    quoteDesk / executeDeskassertTokenDeskSubscriberAccessSSOT Solana desk
    transferNativeCaller supplies userIdЗаписує wallet_transactions; працює з контактами
    spendCreditsCaller supplies userIdТипово використовує getMainCurrencyCreditAccountingRate() для usdRate
    purchaseNftListingIdempotency keyСтатуси: pending → submitted → confirmed / failed
    getNativeBalanceCaller supplies userIdТонка обгортка transfer service

    Послідовність — поповнення кредиту карткою

    initiateTopUp → wallet_topup

    У вкладці Card processor не передається (SSOT з env). Вкладка PayPal задає processor=paypal. Клієнт: lib/payments/checkout-redirect.ts.

    Послідовність — довільне списання кредиту

    spendCredits fiat SSOT

    Середовище й конфігурація (перевірено)

    KeyРоль
    WALLET_ENCRYPTION_KEYШифрування кастодіальних ключів
    SOLANA_RPC_URL / SOLANA_TREASURY_PRIVATE_KEYКастодіальний Solana + спонсорування gas
    CONFIDENTIAL_TOKEN_ONRAMP / desk nativeTokenOnrampGate native onramp карткою
    credit.creditBalanceUnitToMainCurrencyМножник обліку фіатного реєстру
    ORACLE_QUOTE_SECRET / RING_ORACLE_DEFAULT_RATEHMAC котирування desk + fallback

    PaymentConductor

    PSP rails, які використовують поповнення й onramp.

    Довільне списання кредитуspendCreditsДебет фіатного реєстру за creditBalanceUnitToMainCurrency
    Створення гаманцяensureNativeWalletАтомарні мультичейн-гаманці (безпечні для OAuth, без сесії)
    Мінімальний кредитний порігensureFundedСтворення із сесією + мінімальний кредитний залишок
    Покупка на NFT-маркетплейсіpurchaseNftListingІдемпотентна покупка RING через Solana market client
    не

    Покупка на NFT-маркетплейсі

    Допущені покупці сплачують RING із кастодіального гаманця через purchaseNftListing (ідемпотентний рядок продажу).

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

    1. 1

      Підтвердьте SSOT одиниці кредиту

      Залишайте credit.creditBalanceUnitToMainCurrency: 1 у ring-config.json, якщо навмисно не масштабуєте бали відносно фіату. Зміни oracle desk не впливають на checkout магазину або POST /api/wallet/credit/spend.

    2. 2

      Відокремлюйте oracle desk від фіату

      Superadmin налаштовує nativePerMainCurrency лише для конвертації desk. Не очікуйте, що ця ставка буде використана для довільного списання кредиту.

    3. 3

      Обережно вмикайте native onramp

      Native onramp карткою доступний для confidential+ і керується feature flag (CONFIDENTIAL_TOKEN_ONRAMP / desk nativeTokenOnramp). Не вмикайте його, доки treasury ops і compliance не готові.

    Надавайте перевагу Server Actions з UI. Залишайте HTTP wallet routes для MCP і клієнтів без React. Надавайте перевагу /api/wallet/token/* — застарілі aliases /api/wallet/ring/* видалені.

    features/wallet/services/ensure-wallet.ts
    Кредитний реєстрfeatures/wallet/services/credit-balance-service.ts
    Фіатна ставкаlib/ring-config-core.ts → getCreditUnitToMainCurrencyRate / lib/payments/credit-balance.ts → getMainCurrencyCreditAccountingRate
    Deskfeatures/wallet/chains/solana/desk-service.ts
    Oracle deskfeatures/wallet/services/native-token-oracle.ts
    Кастодіальне відправленняfeatures/wallet/chains/native-token-transfer-service.ts
    Checkout PSPlib/payments/conductor/payment-conductor.ts
    Кредитний rail магазинуlib/payments/processors/credit-balance.processor.ts (PaymentConductor — не WC)
    Actionsapp/_actions/wallet.ts
    Покупка NFTfeatures/nft-market/services/solana-market-client.ts

    Контракти методів

    МетодAuth / gatesПримітки
    ensureNativeWalletCaller supplies idБезпечно для OAuth; повертає { ok, native, wallets }
    ensureFundedSessionСтворює + необов’язковий мінімум кредиту
    initiateTopUpSessionСума 25–2000; purpose wallet_topup
    initiateNativeOnrampSession + confidential metadataНеобов’язковий processor paypal/stripe/wayforpay
    quoteDesk / executeDeskassertTokenDeskSubscriberAccessSSOT Solana desk
    transferNativeCaller supplies userIdЗаписує wallet_transactions; працює з контактами
    spendCreditsCaller supplies userIdТипово використовує getMainCurrencyCreditAccountingRate() для usdRate
    purchaseNftListingIdempotency keyСтатуси: pending → submitted → confirmed / failed
    getNativeBalanceCaller supplies userIdТонка обгортка transfer service

    Послідовність — поповнення кредиту карткою

    initiateTopUp → wallet_topup

    У вкладці Card processor не передається (SSOT з env). Вкладка PayPal задає processor=paypal. Клієнт: lib/payments/checkout-redirect.ts.

    Послідовність — довільне списання кредиту

    spendCredits fiat SSOT

    Середовище й конфігурація (перевірено)

    KeyРоль
    WALLET_ENCRYPTION_KEYШифрування кастодіальних ключів
    SOLANA_RPC_URL / SOLANA_TREASURY_PRIVATE_KEYКастодіальний Solana + спонсорування gas
    CONFIDENTIAL_TOKEN_ONRAMP / desk nativeTokenOnrampGate native onramp карткою
    credit.creditBalanceUnitToMainCurrencyМножник обліку фіатного реєстру
    ORACLE_QUOTE_SECRET / RING_ORACLE_DEFAULT_RATEHMAC котирування desk + fallback

    PaymentConductor

    PSP rails, які використовують поповнення й onramp.