Twiinex: The #1 Escrow-as-a-Service platform for social commerce in East Africa. Secure your WhatsApp and social media deals with Hedera-backed trust.
# Twiinex: Secure Social Commerce Escrow
Twiinex is a decentralized escrow platform designed to facilitate secure social commerce transactions. By integrating **Hedera Token Service (HTS)** for vault tokenization and **Hedera Consensus Service (HCS)** for immutable audit trails, Twiinex eliminates the "trust gap" between buyers and sellers on social media.
## 🚀 Key Features
- **Secure Vault (HTS):** Funds are held in a tokenized vault. Money is only released to the vendor after the buyer confirms receipt of the item.
- **Immutable Audit Trail (HCS):** Every major transaction event (Created, Funded, Shipped, Completed) is logged to a public Hedera Topic for independent verification.
- **Mobile Money Integration:** Seamless payments and payouts via **Flutterwave**, tailored for the East African market (MTN, Airtel).
- **Vendor Dashboard:** professional interface for vendors to manage links, track orders, and fulfill shipments.
- **Secure Authentication:** Robust seller profiles protected by JWT and bcrypt password hashing.
## đź› Tech Stack
- **Frontend:** React, Vite, TailwindCSS, Framer Motion, Lucide Icons
- **Backend:** Node.js, Express, Supabase (Database & Auth)
- **Web3 Layer:** Hedera SDK (HTS & HCS)
- **Payments:** Flutterwave API
## 📦 Getting Started
### Prerequisites
- Node.js (v16+)
- Supabase Account
- Hedera Testnet Account
- Flutterwave Account
### Installation
1. **Clone the repository:**
```bash
git clone git@github.com:Twiineenock/Twiinex.git
cd Twiinex
```
2. **Backend Setup:**
```bash
cd server
npm install
```
Create a `.env` file in the `server` directory and fill in your credentials:
```env
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_key
HEDERA_ACCOUNT_ID=your_hedera_id
HEDERA_PRIVATE_KEY=your_hedera_key
HEDERA_TOPIC_ID=your_hcs_topic_id
HEDERA_TOKEN_ID=your_hts_token_id
FLW_PUBLIC_KEY=your_flw_public_key
FLW_SECRET_KEY=your_flw_secret_key
```
3. **Frontend Setup:**
```bash
cd ../client
npm install
```
Create a `.en …