CLI for Limitless pricing markets (crypto and financial). Browse active markets, map them to price feeds (Pyth, Chainlink Data Streams, Binance), and verify feed health.
brew install limitless-labs-group/limitless-cli/limitless-feedsgit clone https://github.com/limitless-labs-group/limitless-feeds-cli.git
cd limitless-feeds-cli
cargo build --release
cp target/release/limitless-feeds ~/.cargo/bin/Requires Rust 1.75+. Install Rust via rustup.rs if needed.
# First-run setup (configures API keys)
limitless-feeds setup
# Browse active feed-based markets
limitless-feeds markets list
# Inspect a single market
limitless-feeds markets get <slug>
# Browse the feed catalog
limitless-feeds feeds list --provider pyth
# Smoke-test a feed
limitless-feeds health smoke --market <slug>markets list List active markets with feed mappings
markets get Inspect one market with resolution explanation
markets export Export machine-readable mapping to a file
markets list filters:
| Flag | Values | Default |
|---|---|---|
--asset-class |
crypto, financial, all |
all |
--timeframe |
5m, 15m, 1h, 1d, 1w, 1mo, all |
all |
--source |
pyth, chainlink-ds, binance, all |
all |
--asset |
any asset name (e.g. BTC) |
— |
--only |
unresolved |
— |
--all-markets |
include non-feed-based markets | false |
feeds list List catalog feeds
feeds get <provider>:<feed_id> Get one feed by key
feeds list filters: --provider, --asset, --symbol
health smoke --market <slug>
health smoke --provider <provider> --feed-id <id>
health smoke --active [--provider <provider>]
Polls feeds for --duration seconds (default 15) and reports time-to-first-update, P50/P95 intervals, staleness, gaps, and out-of-order updates. Exit codes: 0 (OK), 2 (warnings), 3 (failures).
Options: --duration, --concurrency, --per-feed-timeout
listen --market <slug> [--duration <sec>] [--out <file.ndjson>]
replay --in <file.ndjson> [--speed <multiplier>]
Stream live feed updates for a market. Optionally record to NDJSON and replay later.
Interactive wizard that writes ~/.config/limitless-feeds/config.json with API keys and Chainlink Data Streams credentials.
| Flag | Description | Default |
|---|---|---|
--output |
table or json |
table |
--api-url |
Limitless API base URL | https://api.limitless.exchange |
--config |
Config file path | ~/.config/limitless-feeds/config.json |
--timeout |
HTTP timeout (seconds) | 15 |
--api-key |
Limitless API key | env LIMITLESS_API_KEY or config |
--verbose |
Verbose logging | false |
Chainlink credentials can be set via CLI flags, environment variables, or config file:
| CLI flag | Env variable |
|---|---|
--chainlink-client-id |
CHAINLINK_DS_CLIENT_ID |
--chainlink-client-secret |
CHAINLINK_DS_CLIENT_SECRET |
--chainlink-api-key |
CHAINLINK_DS_API_KEY |
See config.example.json for a template.
Markets are resolved to feeds in this order:
- Override — manual mapping in
catalog/overrides.json - Symbol match — exact symbol/asset match against
catalog/feeds.json - Heuristic — slug/title-based fuzzy match
- Unresolved — no feed found
| File | Purpose |
|---|---|
catalog/feeds.json |
Canonical feed catalog (provider, symbol, feed ID, decimals) |
catalog/overrides.json |
Manual slug-to-feed overrides |