README.md
October 25, 2025 ยท View on GitHub
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)
protocbuild-essentialpkg-configlibssl-dev
-
Configuration
- Copy
.env.exampleto.env - Set up
auth.jsonfor JITO authentication (optional, gRPC HTTP/2.0 searcher client) - Populate
fund.json
- Copy
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
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