KeyWe is a Stellar swap and payments app with a Next.js frontend, an Express backend, and a Soroban smart contract workspace.
KeyWe combines wallet-based Stellar payments, quote-driven swap routing, and a Soroban contract integration layer. Users connect Freighter, fetch swap quotes from the backend, sign transactions locally, and can now see a contract-backed preview directly in the active frontend.
These are the main files where the frontend-to-contract integration is implemented:
lovable-next/src/app/swap/page.tsxlovable-next/src/lib/contract.tslovable-next/src/lib/api.tslovable-next/src/lib/walletContext.tsxbackend/src/routes/contract.tsbackend/src/services/contractService.tscontract/src/lib.rs
- The active frontend app is
lovable-next/. - Swap execution still uses wallet-signed Stellar path payment transactions.
- Soroban integration is now wired into the frontend through a contract-backed preview flow.
- To activate the contract preview in the UI, set
CONTRACT_ID,SOROBAN_RPC_URL, andSECRET_KEYin the backend after deploying the contract fromcontract/src/lib.rs.
KeyWe/
|-- backend/ # Express + TypeScript API
|-- contract/ # Soroban contract (Rust -> WASM)
|-- lovable-next/ # Active Next.js frontend
|-- mobile/ # Mobile experiments
`-- lovable/ # Earlier frontend iteration
Backend:
cd backend
npm install
npm run devFrontend:
cd lovable-next
npm install
npm run devDefault local URLs:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:3001





