EscrowCrowd is a trustless, decentralized crowdfunding platform built on the Stellar network using Soroban smart contracts. It guarantees that funds are only released to project creators if their funding goals are met. If a project fails to reach its goal by the deadline, backers can safely reclaim their XLM.
The application is purely decentralized and relies on two interlocking smart contracts communicating on-chain:
- CrowdfundContract: The core escrow vault. It securely holds donated XLM, tracks the campaign goal/deadline, and handles refunds if the goal isn't met.
- RewardBadge Contract: A separate NFT/badge contract. When a user donates above a certain threshold (e.g., 100 XLM), the
CrowdfundContractdirectly invokes theRewardBadgecontract to instantly mint a "Top Supporter" badge to the donor in a single, atomic transaction.
- Frontend Vercel Deployment: https://escrow-crowd.vercel.app
- Deployed Crowdfund Contract:
CANOYAM53C5Q6DNECYVNIQAQN5VI4GMWRXPGQ6CDTHNZBWPBAJ3A7AYA - Deployed RewardBadge Contract:
CAA3IZ7SVURXJP5YNZL66BKGKXOJWSP2KRVUJDRXIECGR3KHDGA4WISD - Example Cross-Contract Transaction (Testnet Explorer): 515e8f8f... (Shows a donation that triggered a cross-contract badge award)
| Feature | Screenshot |
|---|---|
| Dashboard Interface | ![]() |
| Wallet Selection Options | ![]() |
| Connecting Wallet | ![]() |
| Transaction Signature Request | ![]() |
| Transaction Successful | ![]() |
- Smart Contract Escrow: Absolute trust. Backers' XLM is locked securely by Soroban.
- Real-Time Blockchain Sync: Live activity feeds powered by Soroban RPC polling.
- Automated Refund Protection: Guaranteed refunds for unmet funding goals.
- Stellar Speed: Near-instant settlement on the Stellar Testnet.
- Modern UI: Glassmorphism, dynamic animations, and fully responsive bento grid layouts.
-
Clone the repository
git clone https://github.com/HarK-github/EscrowCrowd_App.git cd EscrowCrowd_App -
Install dependencies
npm install
-
Configure Environment Copy
.env.exampleto.envand fill in your deployedVITE_CONTRACT_ID.cp .env.example .env
-
Run the local development server
npm run dev
Open
http://localhost:5173in your browser. -
Prerequisites for Testing
- Install a Stellar-compatible wallet browser extension (e.g., Freighter Wallet).
- Switch the wallet to the Stellar Testnet.
- Fund your wallet using the Stellar Laboratory Friendbot.
This project includes full end-to-end and unit testing for both the smart contracts and the React frontend.
To test the smart contracts (Rust):
cd contracts
cargo testTo test the frontend UI (Vitest):
npm run test




