A lightweight Python CLI tool for sending XLM payments on the Stellar blockchain network.
A three-month open-source builder journey on Stellar. Focused on real, core contributions—no low-effort PRs. $2,000 rewarded every month to validated builders.
We welcome meaningful contributions that improve the project's functionality, documentation, and user experience.
- 🚀 Simple interactive CLI for sending Stellar payments
- ✅ Input validation for addresses and amounts
- 🔒 Environment-based configuration for security
- 🧪 Testnet support out of the box
- Clone the repository:
git clone https://github.com/yourusername/stellar-agent.git
cd stellar-agent- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
cp .env.example .env
# Edit .env with your Stellar credentialsCreate a .env file with your Stellar credentials:
SOURCE_SECRET=YOUR_TESTNET_SECRET_KEY_HERE
MONITOR_ACCOUNT_ID=YOUR_PUBLIC_KEY_HERE
HORIZON_URL=https://horizon-testnet.stellar.org
NETWORK_PASSPHRASE=Test SDF Network ; September 2015Run the CLI:
python main.pyOr install as a package:
pip install -e .
stellar-agentFollow the prompts to send payments:
--- Stellar Agent ---
Enter destination public key (or type 'exit' to quit): GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H
Enter amount to send (in XLM): 10
Sending 10 XLM to GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H...
✅ Transaction Successful!
Transaction Hash: abc123...
pytest tests/stellar-agent/
├── stellar_agent/ # Main package
│ ├── cli.py # CLI interface
│ ├── client.py # Stellar client
│ ├── config.py # Configuration
│ └── utils/ # Utilities
├── tests/ # Tests
├── main.py # Entry point
└── requirements.txt # Dependencies
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
-
Fork the repository
git clone https://github.com/yourusername/stellar-agent.git cd stellar-agent -
Create a new branch
git checkout -b feature/your-feature-name
-
Set up your development environment
pip install -r requirements.txt cp .env.example .env # Edit .env with your testnet credentials -
Make your changes
- Write clean, readable code
- Follow existing code style and conventions
- Add tests for new features
- Update documentation as needed
-
Run tests
python -m pytest tests/
-
Commit your changes
git add . git commit -m "feat: add your feature description"
Use conventional commit messages:
feat:for new featuresfix:for bug fixesdocs:for documentation changestest:for test additions/changesrefactor:for code refactoring
-
Push to your fork
git push origin feature/your-feature-name
-
Open a Pull Request
- Provide a clear description of your changes
- Reference any related issues
- Ensure all tests pass
- Quality over quantity: Focus on meaningful contributions that add real value
- Test your code: All new features should include tests
- Document your changes: Update README and code comments as needed
- One feature per PR: Keep pull requests focused and manageable
- Be respectful: Follow our code of conduct and be kind to other contributors
Check out issues labeled good first issue for beginner-friendly tasks:
- Documentation improvements
- Adding input validation
- Writing tests
- Bug fixes
- Use Python 3.8 or higher
- Follow PEP 8 style guidelines
- Keep functions small and focused
- Write descriptive variable names
- Add type hints where appropriate
- Open an issue for bugs or feature requests
- Join discussions in existing issues
- Ask questions in pull request comments
Be respectful, inclusive, and constructive. We're all here to learn and build together.
MIT License
This tool is for educational purposes. Always test on testnet before using on mainnet.` 4
git clone https://github.com/hiTanishqkuchekar/Stray-SDK.git
cd Stray-SDK
pip install -r requirements.txt