CLI reference

The csds CLI brings token risk checks to your terminal and scripts. It's scriptable (JSON/CSV/NDJSON output), CI-friendly (exit codes mirror risk), and starts free — three lifetime quick checks, no account.

Beta. check, batch, tokens, stats, and config are functional. auth and dashboard are placeholders and print a "not yet implemented" notice.

Install

The recommended install is pipx. Full options on the installation page.

$ pipx install csds-cli
$ csds --version

Quickstart

# Analyze a token (chain auto-detected when omitted)
$ csds check 0x6982508145454ce325ddbe47a25d4ec3d2311933

# JSON for scripts; pipe into jq
$ csds check 0x6982… --format json | jq '.risk_score'

Global concepts

Output formats

Most commands take --format. Available formats vary by command:

CommandFormatsDefault
checktable · json · csv · mdtable
batchndjson · csv · tablendjson
tokenstable · json · csvtable
statstable · jsontable

Exit codes

check and batch set the process exit code from the risk result, so you can gate pipelines without parsing output:

CodeMeaning
0Success — risk LOW or MEDIUM (score < 51).
1Risk HIGH (score 51–75).
2Risk CRITICAL (score > 75).
3Error — bad input, network failure, or quota exhausted.

Configuration & precedence

Settings resolve in this order (highest wins): command flags → environment variables → config file (~/.config/csds/config.toml).

Config keyEnvironment variablePurpose
api-urlCSDS_API_URLAPI base URL.
default-chainCSDS_DEFAULT_CHAINChain used when --chain is omitted.
default-formatCSDS_FORMATDefault output format.
api-keyCSDS_API_KEYAPI key Beta.
wallet-keyCSDS_WALLET_KEYx402 wallet key Beta.

csds check

Analyze a single token. Defaults to a quick check; --full runs a standard report and --deep a deep dive.

$ csds check ADDRESS [--chain CHAIN] [--full | --deep] [--format FMT] [--no-color]
Argument / flagDescription
ADDRESS RequiredContract/mint address to analyze.
--chainChain to analyze; auto-detected when omitted. See supported chains.
--fullRun a standard report ($1.00).
--deepRun a deep dive ($5.00).
--formattable (default) · json · csv · md.
--no-colorStrip ANSI colors (useful in logs/CI).
# Markdown summary for a report (e.g. paste into an issue)
$ csds check 0x… --full --format md

# Fail a CI step on HIGH/CRITICAL risk
$ csds check 0x… || echo "flagged (exit $?)"

csds batch

Analyze many addresses from a file. Reads one address per line (an optional address,chain pair); lines starting with # are comments. Streams NDJSON by default; a summary is printed to stderr.

$ csds batch FILE [--chain CHAIN] [--format ndjson|csv|table] [--concurrency N]
Argument / flagDescription
FILE RequiredPath to a file of addresses.
--chainDefault chain for lines without an explicit one.
--formatndjson (default) · csv · table.
--concurrencyMax parallel requests. Default 5.
$ csds batch watchlist.txt --format csv > report.csv

csds tokens

Search the public token database (free, read-only).

$ csds tokens [--search Q] [--chain CHAIN] [--risk-min N] [--risk-max N] [--limit N] [--format FMT]
FlagDescription
--searchMatch by name or symbol.
--chainFilter by chain.
--risk-min / --risk-maxBound the risk score.
--limitMax results. Default 20.
--formattable (default) · json · csv.
$ csds tokens --search pepe --chain ethereum --risk-max 40

csds stats

Show platform-wide statistics.

$ csds stats --format json

csds config

Read and write persisted settings (see precedence).

# Set a default chain and output format
$ csds config set default-chain ethereum
$ csds config set default-format json

# Read one key, or all of them
$ csds config get default-chain
$ csds config get

Valid keys: default-chain, default-format, api-url, api-key, wallet-key.

csds auth & dashboard Stub

The auth subcommands (setup, status, fund, export) and dashboard are placeholders today — they print a "not yet implemented" message. They'll manage x402 wallet funding and an interactive dashboard once shipped. See Authentication for current options.

Common workflows

Gate CI on risk

- name: Screen contract
  run: |
    pipx install csds-cli
    csds check ${{ env.CONTRACT }} --chain ethereum --no-color
  # exit 1 (HIGH) or 2 (CRITICAL) fails the step

Extract fields with jq

$ csds check 0x… --format json | jq '{score:.risk_score, level:.risk_level}'

Screen a portfolio

$ csds batch portfolio.txt --format csv | column -t -s,

Troubleshooting

SymptomFix
csds: command not foundEnsure pipx's bin dir is on PATH: pipx ensurepath, then restart the shell.
Exit code 3 with "quota"Free quick checks (3) are used up. Fund an account or wait for key-based auth (Beta).
Network/timeout errorsCheck connectivity and CSDS_API_URL; retry — analysis fans out to several providers.
Colors look wrong in logsAdd --no-color.

Next

Installation pipx, pip, uv, and from source. API reference What each command calls under the hood.