Stellar Drips Wave · User Remittance Dashboard
Organization: Cowrie-Labs · Maintainer: @Alhaji-naira
cowrie-remit-frontend is the Next.js 14 user-facing dashboard for the Cowrie-Remit decentralized cross-border remittance protocol. Users can:
- 🔗 Connect their Freighter Stellar wallet
- 💸 Send Funds — initiate a stablecoin remittance via the Soroban settlement contract
- 📈 View Live Conversion Rates — NGN, GHS, KES, ZAR, EUR → USD
- 📋 Track Transaction History — pending, settled, and refunded transfers
| Layer | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Styling | Tailwind CSS |
| Wallet | Freighter (@stellar/freighter-api) |
| Stellar SDK | @stellar/stellar-sdk |
| State | Zustand |
| Data Fetching | SWR |
- Node.js ≥ 20
- npm ≥ 10
- Freighter browser extension for wallet testing
cd Cowrie-Remit-Frontend
npm install
# Development server
npm run devOpen http://localhost:3000 in your browser.
Create a .env.local file:
NEXT_PUBLIC_API_URL=http://localhost:4000
NEXT_PUBLIC_STELLAR_NETWORK=testnet
NEXT_PUBLIC_SETTLEMENT_CONTRACT_ID=<DEPLOYED_CONTRACT_ID>Cowrie-Remit-Frontend/
├── package.json
├── src/
│ ├── app/
│ │ └── page.tsx # Main dashboard (Send Funds + History + FX Rates)
│ └── lib/
│ └── freighter.ts # Stellar Freighter wallet connection helpers
The main remittance dashboard featuring:
- Header — wallet connect button + network indicator
- FX Rate Cards — live conversion rates for all supported corridors
- Send Funds Form — recipient address, amount, currency selector, USDC preview
- Transaction History Table — paginated, with color-coded status badges
Typed helpers for Freighter integration:
isFreighterInstalled()— detects the extensionconnectWallet()— requests permission + returns public keygetNetwork()— returns network details and passphrasesignXdr(xdr, passphrase)— signs a transaction XDRinitWallet()— full init flow returningWalletState
This repository is part of the Stellar Drips Wave program.
- Fork under
Cowrie-Labs - Create a branch:
git checkout -b feat/your-ui-feature - Follow the existing Tailwind design system (dark theme, amber/orange gradient accents)
- Ensure all interactive elements have unique
idattributes for testability - Open a PR with screenshots of your changes
- Connect
page.tsxto the real backend API via SWR hooks - Build a
TransactionModalcomponent for transfer details - Add Zustand store for global wallet + transfer state
- Implement real Soroban contract invocation in the Send Funds form
- Add responsive mobile layout optimizations
- Write Playwright E2E tests for the send flow
| Token | Value |
|---|---|
| Background | #0a0b14 |
| Surface | white/3 – white/5 |
| Primary Gradient | #f5c842 → #f07c3e |
| Pending badge | Amber |
| Settled badge | Emerald |
| Refunded badge | Rose |
MIT © Cowrie-Labs