Product · Crypto banking
GRX Pay — Crypto Payment Solution
Frontend Engineer · Feb 2026 – Jul 2026
GRX Pay is a multi-currency crypto banking product — merchants accept payments across 24+ cryptocurrencies, track balances, and move funds out via SEPA, with every transaction carrying AML and risk data. I worked on the merchant dashboard: balances, invoices, transactions, and team management.
The Challenge
Balances and transaction state change mid-session — deposits settling, auto-conversions completing, mass payouts processing — and that state has to stay correct across several large, paginated tables (invoices, transactions, team members) without the dashboard feeling stale or the tables janking on every update.
The Approach
- A normalized client-side data layer, so a balance update in one view is reflected everywhere else it's rendered without a manual refetch
- A dedicated async query layer for the state around real-time balance and transaction updates, keeping loading/stale/error states explicit instead of implicit
- Paginated, cursor-based tables for invoices, transactions, and members rather than loading full result sets client-side
- A shared role-based access layer — admin, merchant, and member views render different actions from the same components instead of forking screens per role
- Flag-gated rollout for new payment features (auto-convert, fixed-sum invoices), so product could ship behind a flag and turn it on per merchant
The Outcome
24+
currencies, real-time balances via WebSocket
100%
transactions surfaced with AML / risk data