Web3 trading agents powered by SentiChain sentiment data on Base network
Project description
Fundis
Web3 trading agents powered by SentiChain sentiment data on Base network.
Overview
Fundis is a Python CLI tool for running automated trading agents that make decisions based on real-time sentiment analysis from SentiChain. The agents trade on Base network using Aerodrome Finance, the primary DEX on Base.
Features
- Sentiment-Based Trading: Agents automatically trade based on bullish/bearish sentiment from SentiChain
- Real On-Chain Execution: Live trading on Base network via Aerodrome Finance
- Local Wallet Management: Secure local storage of wallet keys
- Position Tracking: SQLite-based memory system tracks positions and trade history
- Simple CLI Interface: Interactive menus for wallet, auth, and agent management
Installation
From PyPI (Recommended)
pip install fundis
From Source
git clone https://github.com/Yototec/fundis.git
cd fundis
pip install -e .
Quick Start
1. Set up your SentiChain API key
fundis auth
Get your API key from SentiChain
2. Import a wallet
fundis wallet
Import an EVM private key (with USDC funds on Base network)
3. Run an agent
fundis agent
Choose an agent (ETH or BTC) and select "Update agent" to execute trades
Available Agents
- SentiChain ETH Agent: Trades USDC ↔ WETH based on Ethereum sentiment
- SentiChain BTC Agent: Trades USDC ↔ WBTC based on Bitcoin sentiment
Trading Logic
Each agent:
- Fetches latest sentiment events from SentiChain API
- Counts bullish vs bearish signals
- Makes trading decisions:
- More bullish → Buy (USDC → WETH/WBTC)
- More bearish → Sell (WETH/WBTC → USDC)
- Equal signals → Hold current position
Agents manage a fixed allocation of 10 USDC per wallet.
Network Configuration
- Network: Base (Chain ID: 8453)
- DEX: Aerodrome Finance
- Tokens:
- USDC:
0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 - WETH:
0x4200000000000000000000000000000000000006 - WBTC:
0x0555E30da8f98308EdB960aa94C0Db47230d2B9c
- USDC:
Commands
Wallet Management
fundis wallet
- Import wallet (private key)
- Export wallet
- Delete wallet
- List wallets
API Key Management
fundis auth
- Set SentiChain API key
- Configure premium RPC URL (optional)
- Show current configuration
- Delete stored keys
Agent Operations
fundis agent
- Select agent (ETH or BTC)
- Choose wallet
- Update agent (run trading logic once)
- Unwind agent (return to USDC)
Data Storage
All data is stored locally in ~/.fundis/:
wallets.json- Encrypted wallet storagememory.db- SQLite database for positions and logsauth.json- API keys and RPC configuration
Security Considerations
Important Security Notes:
- Private keys are stored locally (use at your own risk)
- Only use wallets you're comfortable with for testing
- Start with small amounts to test the system
- This is alpha software - bugs may exist
Requirements
- Python 3.10+
- Base network wallet with:
- At least 10 USDC for trading
- ETH for gas fees
Development
# Clone the repository
git clone https://github.com/Yototec/fundis.git
cd fundis
# Install in development mode
pip install -e .
# Run tests (if available)
pytest
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE file for details
Disclaimer
This software is for educational purposes. Trading cryptocurrencies carries significant risk. Users are responsible for their own trading decisions and should not rely solely on automated systems. Always do your own research and never invest more than you can afford to lose.
Support
- GitHub Issues: github.com/yototec/fundis/issues
- SentiChain: sentichain.com
Acknowledgments
- SentiChain for sentiment data
- Aerodrome Finance for DEX infrastructure
- Base network for low-cost EVM execution
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fundis-0.1.1.tar.gz.
File metadata
- Download URL: fundis-0.1.1.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8f11b520f3e27c8044c74a4ae7a605fc1c2186254f62dd42d197fcfb2f08d24
|
|
| MD5 |
09548b1dd8146f908d0ec286edd0b65f
|
|
| BLAKE2b-256 |
579c8625a9c19f8f4a9b2466eeb82bbb5435f293270984bba8130e468fcddbea
|
File details
Details for the file fundis-0.1.1-py3-none-any.whl.
File metadata
- Download URL: fundis-0.1.1-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d29a4267bdc32320cf298c4386ad8d075741934311c33f8c91c7edbb875582f2
|
|
| MD5 |
9010ce6440b5f7984f6bbe49b7197529
|
|
| BLAKE2b-256 |
148a131e166e995969d4d74c65c83ce722fdfb0619245bd322bda8650348229c
|