piotrostr
listen
TypeScript

DeFAI Swiss Army Knife

Last updated Jul 9, 2026
1.1k
Stars
165
Forks
10
Issues
0
Stars/day
Attention Score
92
Language breakdown
TypeScript 53.5%
Rust 43.2%
Python 1.3%
Shell 0.7%
HCL 0.5%
CSS 0.4%
Files click to expand
README


 

listen started sa Solana Swiss-Knife toolkit for algorithmic trading, its mission has become the go-to framework for AI crosschain portfolio management agents

It powers the Listen App, check it out to see what listen framework is capable of

Listen Architecture

graph TB
    subgraph "Rig Agent Kit by Listen"
        RAK[RIG Agent Kit]
        RAK_MT[Multi-tenant Stream Manager]
        RAK_WALLET[Delegated Wallet Manager]
        RAK --> RAK_MT
        RAK --> RAK_WALLET
    end

subgraph "Listen Trading Engine" LTE[Trading Engine] ORDER_COL[Order Collector] PIPE[Pipeline Executor] EXEC[Order Executor]

ORDER_COL --> PIPE PIPE --> EXEC LTE --> ORDER_COL end

subgraph "Listen Data Service" LDS[Data Service] SUB[Substreams Indexer] DB[(Clickhouse OLAP)] PRICE[Price Stream]

SUB -->|Index Solana Slots| DB LDS --> PRICE LDS --> DB end

%% External Systems MOBILE[Mobile App] CHAIN((Blockchain)) PRIVY((Privy)) WALLET[(Solana/EVM Wallets)]

%% Connections RAK -->|Tool Calls| CHAIN RAK -->|Execute Trades| LTE LDS -->|Pricing Updates| LTE LDS -->|Enriched Data| MOBILE MOBILE -->|User Intents| RAK LTE -->|Sign & Send Tx| CHAIN DB -->|Query Data| RAK RAK_WALLET -->|Integration| PRIVY PRIVY --> WALLET

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.

Some more docs on the agentic stuff: rig-onchain-kit

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

Quickstart

To play around with listen-rs, you can use the UI

Fill in the .env.example and ./dashboard/.env.example, copy over to .env and ./dashboard/.env.example, then

docker compose up

You can then access the dashboard over http://localhost:4173

[!WARNING]
listen-rs is undergoing rapid iterations, some things might not work and there could be breaking changes

Requirements

  • System Dependencies
- Rust (with nightly toolchain) - protoc - build-essential - pkg-config - libssl-dev
  • 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:

  • Start Prometheus:
prometheus --config=prometheus.yml
  • 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

© 2026 GitRepoTrend · piotrostr/listen · Updated daily from GitHub