listen

listen

Solana Swiss Army Knife

Stars: 184

Visit
 screenshot

Listen is a Solana Swiss-Knife toolkit for algorithmic trading, offering real-time transaction monitoring, multi-DEX swap execution, fast transactions with Jito MEV bundles, price tracking, token management utilities, and performance monitoring. It includes tools for grabbing data from unofficial APIs and works with the $arc rig framework for AI Agents to interact with the Solana blockchain. The repository provides miscellaneous tools for analysis and data retrieval, with the core functionality in the `src` directory.

README:


Β 

listen is a Solana Swiss-Knife toolkit for algorithmic trading

Features

  • πŸ” Real-time transaction monitoring
  • πŸ’± Multi-DEX swap execution (Pump.fun, Jupiter V6 API or Raydium)
  • πŸš€ Blazingly fast transactions thanks to Jito MEV bundles
  • πŸ“Š Price tracking and metrics
  • 🧰 Token management utilities
  • πŸ“ˆ Performance monitoring with Prometheus integration

And more!

It works plug'n'play with $arc rig framework framework allowing AI Agents interact with the Solana blockchain, see example: src/agent.rs and the output image.

For complete rundown of features, check out the CLI output of cargo run or the documentation.

This repository contains some miscellanous tools for grabbing data from bullx/gmgn.ai/pump.fun unofficial APIs, in bullx, watcher, pump-ts and an analysis module, all which might be useful, though the core of the library is located in the src directory.

Requirements

  1. System Dependencies

    • Rust (with nightly toolchain)
    • protoc
    • build-essential
    • pkg-config
    • libssl-dev
  2. Configuration

    • Copy .env.example to .env
    • Set up auth.json for JITO authentication (optional, gRPC HTTP/2.0 searcher client)
    • Populate fund.json

Both keypairs are in solana-keygen format, array of 64 bytes, 32 bytes private key and 32 bytes public key.

Quick Start

# Install dependencies
sudo apt install protoc build-essential pkg-config libssl-dev

# Build
cargo build --release

# Run services
./run-systemd-services.sh

Usage Examples

Transaction Monitoring

cargo run -- listen \
  --worker-count [COUNT] \
  --buffer-size [SIZE]

Token Swapping

cargo run -- swap \
  --input-mint sol \
  --output-mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
  --amount 10000000

[!WARNING] Default configuration is set for mainnet with small transactions. Ensure proper configuration for testnet usage and carefully review code before execution.

Metrics and Monitoring

Listen includes built-in metrics exposed at localhost:3030/metrics. To visualize:

  1. Start Prometheus:
prometheus --config=prometheus.yml
  1. Access metrics at localhost:3030/metrics

Grafana should show something like this

image

Advanced Usage

Swap Profiling

The stackcollapse.pl can be installed through

gh repo clone brendangregg/FlameGraph && \
  sudo cp FlameGraph/stackcollapse.pl /usr/local/bin && \
  sudo cp FlameGraph/flamegraph.pl /usr/local/bin

Profile swap performance using DTrace to produce a flamegraph:

./hack/profile-swap.sh

image

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for listen

Similar Open Source Tools

For similar tasks

For similar jobs