Skip to main content

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:

  1. Fetches latest sentiment events from SentiChain API
  2. Counts bullish vs bearish signals
  3. 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

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 storage
  • memory.db - SQLite database for positions and logs
  • auth.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

Acknowledgments

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

fundis-0.1.1.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fundis-0.1.1-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

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

Hashes for fundis-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d8f11b520f3e27c8044c74a4ae7a605fc1c2186254f62dd42d197fcfb2f08d24
MD5 09548b1dd8146f908d0ec286edd0b65f
BLAKE2b-256 579c8625a9c19f8f4a9b2466eeb82bbb5435f293270984bba8130e468fcddbea

See more details on using hashes here.

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

Hashes for fundis-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d29a4267bdc32320cf298c4386ad8d075741934311c33f8c91c7edbb875582f2
MD5 9010ce6440b5f7984f6bbe49b7197529
BLAKE2b-256 148a131e166e995969d4d74c65c83ce722fdfb0619245bd322bda8650348229c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page