Назад до проєктів

Продукт · Крипто-банкінг

GRX Pay — Криптоплатіжне рішення

Frontend-інженер · Feb 2026 – Jul 2026

GRX Pay — це мультивалютний крипто-банкінговий продукт: мерчанти приймають платежі у понад 24 криптовалютах, відстежують баланси й виводять кошти через SEPA, а кожна транзакція супроводжується даними AML і ризиків. Я працював над дашбордом мерчанта: баланси, інвойси, транзакції та керування командою.

Задача

Баланси й стан транзакцій змінюються посеред сесії — депозити підтверджуються, автоконвертації завершуються, масові виплати обробляються — і цей стан має залишатися коректним у кількох великих пагінованих таблицях (інвойси, транзакції, учасники команди) без відчуття застарілості дашборда чи смикання таблиць при кожному оновленні.

Підхід

  • Нормалізований шар даних на клієнті, тож оновлення балансу в одному екрані відображається всюди, де він рендериться, без ручного повторного запиту
  • Окремий шар асинхронних запитів для стану навколо оновлень балансу й транзакцій у реальному часі, що тримає стани завантаження/застарілості/помилки явними, а не неявними
  • Пагіновані таблиці на курсорах для інвойсів, транзакцій і учасників замість завантаження повних наборів результатів на клієнті
  • Спільний шар доступу на основі ролей — адмін, мерчант і учасник бачать різні дії з тих самих компонентів замість окремих екранів для кожної ролі
  • Розкатка нових платіжних функцій (автоконвертація, інвойси з фіксованою сумою) під фіче-флагами, тож продукт міг випускати їх і вмикати для окремих мерчантів

Результат

24+

криптовалют, баланси в реальному часі через WebSocket

100%

транзакцій з даними AML / ризиків

Дашборд — баланси, обсяг платежів і живий потік транзакцій в одному екрані
Активи — мультивалютні баланси в реальному часі, утримувані й доступні
Транзакції — фільтрований пагінований реєстр за кожною валютою
Керування командою — доступ на основі ролей серед адмінів мерчанта
Депозит — методи й комісії для кожної валюти, показані до підтвердження мерчантом
Додати учасника — та сама система ролей з @grx/rabac, пояснена прямо в інтерфейсі
Створення інвойсу — інвойси з фіксованою сумою та автоконвертація під контролем FeatureScript