Arka turns group payments into one simple flow: create a shared tab, invite friends by QR or join code, collect NIM contributions, and settle the final payment through Nimiq Pay.
- Live app: arka-omega.vercel.app
Splitting a group expense usually means juggling messages, calculations, payment reminders, and a final merchant payment. Arka keeps that journey in one mobile-first shared space. It is designed for friends, families, travel groups, dinners, gifts, and small events.
- The host connects a Nimiq wallet and creates an Arka with a total, deadline, and split method.
- Arka creates a shareable QR, invite link, and manual join code.
- Guests preview the Arka, join it, and see their exact share.
- Each guest sends NIM directly to the host wallet through Nimiq Pay or Nimiq Wallet.
- Arka marks a contribution as paid only after the transaction is found on the Nimiq network.
- Once the group is ready, the host pays the merchant with the collected NIM through Nimiq Pay.
Arka uses host-wallet collection. It is not escrow, multisig, or a custodial wallet.
NIM is the live payment asset and a core part of Arka, not a decorative integration. Inside Nimiq Pay, Arka uses the injected Mini App provider to request wallet access and submit basic NIM transactions. In a regular browser, it uses the official Nimiq Hub checkout. Private keys and seed phrases never enter Arka.
The production configuration uses the Nimiq mainnet Hub and a mainnet RPC endpoint. Before an in-app transfer, Arka checks that Nimiq consensus is available; after submission, it waits for network confirmation before updating local payment state.
Real-payment warning: mainnet actions move real NIM. Verify the recipient and amount in Nimiq Pay before approving. In Nimiq Pay, select the Default/Mainnet network for real tests.
- NIM-first Arka creation
- Equal, custom, consumption, and sponsor split modes
- Cross-device invite discovery through QR, link, or
ARKA-XXXXXXXXcode - Guest preview and join flow
- Host and guest payment dashboards
- Real NIM contribution and merchant-settlement requests
- Network-confirmed success states
- Sender-bound mainnet verification before a contribution is credited
- Treasury-authorized 3% NIM cashback claims with mainnet payout confirmation
- Mobile-first honeycomb payment progress
- Local activity, completed Arka history, and shareable receipt cards
- Vercel Web Analytics and Speed Insights
- Confirmed payments are stored locally after network confirmation; cross-device payment synchronization is still pending.
- USDT checkout is disabled until the EVM transfer and confirmation path is implemented end to end.
- Cashback payouts require the configured treasury operator to review and confirm each reward in Nimiq Pay; Arka never stores or controls the treasury key.
- QR, invitation, and two-phone payment flows still require the builder's manual device QA before submission.
Host creates Arka
-> Supabase invite RPC stores a public invite snapshot
-> Guest joins by QR, link, or code
-> Guest approves a NIM transfer in Nimiq Pay / Nimiq Hub
-> Nimiq mainnet RPC confirms the transaction
-> Arka updates the local member payment state
-> Host settles the merchant through Nimiq Pay / Nimiq Hub
Supabase is used only for shared invite discovery and membership snapshots. Browser roles do not receive direct table access. Payment-provider code remains isolated in src/lib/nimiq.
- React 19, TypeScript, and Vite
- Tailwind CSS
- React Router and Zustand
@nimiq/mini-app-sdkand@nimiq/hub-api- Supabase for cross-device invites
qrcode.reactandqr-scanner- Vercel Analytics and Speed Insights
Requirements: Node.js 20+ and pnpm.
pnpm install
Copy-Item .env.example .env.local
pnpm devFor a real shared invite, create a Supabase project, apply every SQL file in supabase/migrations in filename order, and set:
VITE_SUPABASE_URL=your_project_url
VITE_SUPABASE_PUBLISHABLE_KEY=your_publishable_keyThe publishable/anonymous key is intended for browser use. Never place a Supabase service_role key, wallet secret, seed phrase, or private key in a VITE_* variable.
Optional explicit mainnet configuration:
VITE_NIMIQ_RPC_URL=https://rpc.nimiqwatch.com
VITE_NIMIQ_HUB_URL=https://hub.nimiq.compnpm lint
pnpm buildThe production deployment is built from the public main branch on Vercel. Configure the same public Supabase and Nimiq variables for Preview and Production environments before deploying.
Arka is released under the MIT License.