A Stellar-based reward distribution module for the StreamForge ecosystem. Handles the creation and release of contributor rewards using USDC on the Stellar blockchain.
🚧 Early development — contributions are welcome!
streamforge-stellar-rewards is responsible for the payment layer of StreamForge. When a contributor completes approved work, this module handles locking and releasing USDC rewards trustlessly on the Stellar blockchain.
It is designed to be minimal, modular, and extensible — core logic is intentionally left unimplemented and open for contributors to build.
Maintainer posts bounty on issue
↓
USDC is locked in escrow
↓
Contributor picks up issue and submits PR
↓
Maintainer reviews and approves PR
↓
Escrow releases USDC to contributor's Stellar wallet
streamforge-stellar-rewards/
├── src/
│ └── escrow.js # Escrow creation and release logic (stub)
├── utils/
│ └── wallet.js # Stellar wallet generation and loading utilities
├── .env.example # Environment variable template
├── package.json
└── README.md
- Node.js v18 or higher
- A Stellar testnet wallet — generate one at https://laboratory.stellar.org
- Funded testnet account — use the Stellar Friendbot at https://friendbot.stellar.org
# Clone the repository
git clone https://github.com/arclayerlabs/streamforge-stellar-rewards.git
# Navigate into the project
cd streamforge-stellar-rewards
# Install dependencies
npm install
# Copy the environment variable template
cp .env.example .envOpen your .env file and fill in your values:
SENDER_SECRET=your_stellar_secret_key_here
RECIPIENT_PUBLIC=recipient_stellar_public_key_here
STELLAR_NETWORK=testnet
⚠️ Never commit your.envfile. It is already listed in.gitignore.
| Feature | Status |
|---|---|
| Wallet generation and loading | ✅ Done |
| Escrow creation | 🔲 Open for contribution |
| Escrow release | 🔲 Open for contribution |
| USDC asset support | 🔲 Open for contribution |
| Error handling | 🔲 Open for contribution |
| Test coverage | 🔲 Open for contribution |
Contributions are what make this project grow. Check the open issues to find tasks you can work on.
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Commit your changes:
git commit -m "add: your descriptive message" - Push to your branch:
git push origin feature/your-feature-name - Open a Pull Request
Please make sure your code is clean and well commented before submitting.
This project runs on the Stellar testnet by default.
⚠️ Never run against mainnet without thorough testing. Stellar transactions are irreversible.
To switch to mainnet set STELLAR_NETWORK=mainnet in your .env file.
MIT — see LICENSE for details.