Remitlend
Decentralized lending and cross-border remittance protocol on Stellar/Soroban
Install / Use
/learn @LabsCrypt/RemitlendREADME
RemitLend
RemitLend treats remittance history as credit history. Migrant workers prove their financial reliability through monthly cross-border transfers, allowing them to receive fair loans without predatory fees. In return, lenders earn transparent yield powered by the Stellar network.
✨ Key Features
For Borrowers
- Credit Building: Convert your existing remittance history into an actionable credit score.
- Fair Rates: Access loans with transparent, non-predatory interest rates.
- Self-Custody: Maintain full control of your assets using Stellar wallets.
For Lenders
- Transparent Yield: Earn interest by providing liquidity to audited borrowing pools.
- Risk Assessment: Make informed decisions based on verifiable, on-chain remittance proofs (Remittance NFTs).
Technical Highlights
- NFT-Based Collateral: Remittance NFTs serve as proof of reliability and loan collateral.
- Decentralized Lending Pools: Lenders provide liquidity and earn transparent yields.
- Transparent & Auditable: All transactions and loan terms recorded on-chain.
🏗 Project Structure
The repository is organized as a monorepo containing three core packages:
backend/: Node.js/Express server providing API support, score generation, and metadata management.frontend/: Next.js web application providing the UI for both borrowers and lenders.contracts/: Soroban (Rust) smart contracts covering the lending pools, loan management, and NFT collateral logic.
For a detailed look at how these components interact, see our Architecture Diagram.
🛠 Tech Stack
- Blockchain: Stellar (Soroban Smart Contracts)
- Frontend: Next.js 14, React, TypeScript, Tailwind CSS
- Backend: Node.js, Express, TypeScript, Jest
- Wallet Integration: Stellar Wallet Kit (Freighter)
🏁 Getting Started
Prerequisites
- Node.js (v18 or higher)
- npm or yarn
- Docker & Docker Compose (Recommended for easy setup)
- Rust & Cargo (Required for contract development)
- Soroban CLI (Required for contract deployment)
- Stellar Wallet (Freighter recommended for testing)
Quick Start with Docker (Recommended)
-
Clone the repository:
git clone https://github.com/your-username/remitlend.git cd remitlend -
Configure environment:
cp backend/.env.example backend/.envEdit
backend/.envif needed (defaults work for local development). -
Start all services:
docker compose up --buildThe backend waits for PostgreSQL to be ready, runs
npm run migrate:upto apply SQL migrations, then starts the API. -
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- API Documentation: http://localhost:3001/api-docs
Manual Setup
Backend Setup
-
Navigate to backend directory:
cd backend -
Install dependencies:
npm install -
Configure environment:
cp .env.example .envUpdate
.envwith your configuration (at minimumDATABASE_URLfor PostgreSQL):CORS_ALLOWED_ORIGINS=http://localhost:3000 PORT=3001 NODE_ENV=development DATABASE_URL=postgres://postgres:postgres@localhost:5432/remitlend -
Apply database migrations (creates
scores,loan_events,indexer_state, and other tables):npm run migrate:upMigration scripts use the colon form (
migrate:up/migrate:down), which is the standard npm convention. -
Run development server:
npm run dev -
Available scripts:
npm run dev- Start development server with hot reloadnpm run build- Build for productionnpm start- Run production buildnpm test- Run test suitenpm run lint- Check code qualitynpm run format- Format code with Prettier
Frontend Setup
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install -
Run development server:
npm run dev -
Access the application: Open http://localhost:3000 in your browser
-
Available scripts:
npm run dev- Start development servernpm run build- Build for productionnpm start- Run production buildnpm run lint- Check code quality
Smart Contracts Setup
-
Install Rust and wasm32 target:
rustup target add wasm32-unknown-unknown -
Install Soroban CLI:
cargo install --locked soroban-cli -
Navigate to contracts directory:
cd contracts -
Build all contracts:
cargo build --target wasm32-unknown-unknown --release -
Run tests:
cargo test -
Deploy to testnet (example):
soroban contract deploy \ --wasm target/wasm32-unknown-unknown/release/remittance_nft.wasm \ --source <YOUR_SECRET_KEY> \ --rpc-url https://soroban-testnet.stellar.org \ --network-passphrase "Test SDF Network ; September 2015"
🤝 Contributing
We welcome contributions from developers of all skill levels! Please see our CONTRIBUTING.md for detailed guidelines on how to get started.
Quick Contribution Guide
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes and commit (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the ISC License. See the LICENSE file for details..
Related Skills
himalaya
347.2kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
347.2kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
