The user-facing web app for AureumDCA: vault creation, dashboard, and portfolio UI built with Next.js 16, Tailwind CSS, and the Freighter wallet extension.
Users connect their Stellar wallet via Freighter, view their on-chain DCA vault status and swap history, and (coming soon) create and manage recurring swap schedules directly from the browser — all without handing custody of their funds to anyone.
https://dca-vault-frontend.vercel.app
Connect your Freighter wallet to view the landing page and vault dashboard. Note: transaction signing for withdrawal is still in progress (tracked in open issues) — deposit and schedule creation are functional.
| Path | Description |
|---|---|
/ |
Landing page — connect your Freighter wallet; redirects to /vault?owner=<publicKey> on success |
/vault |
Vault dashboard — shows vault status, schedule details, swap history, and the schedule creation form |
| Component | Description |
|---|---|
ConnectWallet |
Detects Freighter, prompts connection, returns the user's public key |
VaultStatus |
Displays vault balance (in XLM), active schedule details, and paused state |
CreateSchedule |
Form for configuring a new recurring swap schedule (frequency, amount, target asset, pool, slippage) |
SwapHistory |
Table of past swap executions with ledger, amounts, and transaction hash |
| Variable | Description | Example |
|---|---|---|
NEXT_PUBLIC_API_URL |
Base URL of the running dca-vault-backend |
http://localhost:3001 |
NEXT_PUBLIC_CONTRACT_ID |
Deployed dca-vault-contract address | CDJF7V5NLGKAV7RHTBCR3LMHC7MUS7IWL6KYSLO6ZWEEJYJGWUVGEDEO |
NEXT_PUBLIC_NETWORK_PASSPHRASE |
Stellar network identifier | Test SDF Network ; September 2015 |
Copy .env.local.example to .env.local and fill in the values.
Requires dca-vault-backend running locally and Freighter installed in your browser.
git clone https://github.com/AureumDCA/dca-vault-frontend.git
cd dca-vault-frontend
npm ci
cp .env.local.example .env.local
# edit .env.local
npm run devOpen http://localhost:3000.
npx tsc --noEmit # must be zero errors
npm run build # production buildTransaction signing for deposit, create_schedule, and withdraw is not yet implemented — the CreateSchedule form's submit handler is a stub (console.log + alert). These are tracked as contributor issues:
- Implement
create_scheduletransaction signing via Freighter - Implement
depositUI and transaction - Implement
withdrawUI and transaction
Each requires building a Soroban transaction with stellar-sdk, signing it with Freighter's signTransaction, and submitting it to the Soroban RPC.
See CONTRIBUTING.md for prerequisites, setup, branch naming, commit style, the PR checklist, and Drips Wave rules.
