Platform (Frontend)¶
arkonix-platform is a pnpm monorepo of Next.js applications sharing a common
design system and API layer.
Applications¶
| App | Purpose | Where |
|---|---|---|
| Earn | Public depositor app: vault listings, vault detail, deposits/withdrawals, portfolio, compare | arkonix.xyz |
| Partner portal | Partner & platform operations: share-class dashboards, deposit/redeem queues, governance, risk controls, team management | partner.arkonix.xyz |
| Web | Marketing site, brand system, Shariah-compliance information | — |
All three are Next.js App Router applications (React 19, TypeScript, Tailwind CSS) with class-based dark mode. The Earn app and partner portal add the DeFi stack: wagmi + viem for on-chain access, TanStack Query for server state, and the Vault SDK for vault flows — the platform's own frontend consumes the same public SDK that partners do.
Shared packages¶
The monorepo extracts cross-app concerns into workspace packages:
- Brand — design tokens (color, typography, spacing) and a Tailwind preset. Typography: Inter for headings, DM Sans for body, IBM Plex Mono for numerics — the same system these docs use.
- UI — a Radix-based component library (dialogs, tables, forms, theming) shared by all apps.
- Icons — custom icon set.
- API client — typed REST client used by the Earn app.
Authentication & roles¶
Sign-in supports email and wallet via an embedded auth provider issuing JWTs; wallet sign-in uses SIWE (EIP-4361). The backend derives the user's memberships and role, which the frontend mirrors as a role/permission model:
| Role | Scope |
|---|---|
| Super admin / platform admin | Platform-wide operations |
| Partner admin | Full management of their organization |
| Partner strategist | Vault viewing, order placement, portfolio |
| Partner investor | Vault viewing, portfolio |
Navigation, pages, and individual actions are gated by permissions (e.g.
vaults:configure, orders:place), enforced server-side and reflected
client-side.
On-chain layer¶
- Networks: Ethereum Mainnet, Arbitrum One, BNB Smart Chain, and HyperEVM in the apps today (SDK support is a superset — see SDK Configuration).
- Amount handling: all token amounts are
bigintend-to-end, converted only at display edges with on-chain-resolved decimals; valuations go through the vault's own conversion functions rather than local share-price math. - User state: positions and pending/claimable request states are read directly from vault contracts via batched multicalls on a 10–15 s cadence.
Vault detail & data¶
Vault pages combine three sources, consistent with what integrators get:
- On-chain reads — metadata, user position, request states.
- Public API — financials, return/TVL history, holdings, fees.
- The Vault SDK — the deposit/redeem/cancel transaction lifecycle.
Deployment model¶
The depositor-facing apps deploy continuously through a CDN-backed hosting platform; the partner portal ships as a container to Kubernetes with health-probed rolling updates and autoscaling in production. Production releases of the portal are cut from version tags.