Wallets & tokens
Wallets, contacts, balances, tokens, holders, events, and vanity mints.
Wallet management
slrd setup
Inspect or initialize the CLI's ephemeral wallet-password workflow.
slrd setup [--status]- Solard does not persist the interactive wallet password. Signing commands ask for it for that process unless SLRD_MASTER_KEY is explicitly supplied for automation or CI.
- With --status, the command reports the password mode and whether an environment override is active. If no signing wallets exist yet, plain slrd setup explains that wallet creation is the next step.
| Option | Type | Default | Meaning |
|---|---|---|---|
--status | boolean | — | Print vault/password-mode status without creating or modifying a wallet. |
slrd wallet create
Generate a Solana keypair and persist it encrypted in the canonical Solard database.
slrd wallet create [name] [--vanity <suffix>] [--workers N] [--max-attempts N] [--timeout-ms N] [--report-every N] [--json]- If this is the first stored wallet and no name is supplied, the CLI uses main. A normal wallet is generated immediately; --vanity switches to suffix search before the keypair is encrypted and stored.
- The public result contains wallet metadata, not secret-key ciphertext. Vanity output also includes attempts, elapsed time, and generation rate.
| Option | Type | Default | Meaning |
|---|---|---|---|
name | string | main for first wallet | Stored wallet alias. |
--vanity | string | — | Require the generated public key to end with this suffix. |
--workers | integer | — | Worker count for vanity generation. |
--max-attempts | integer | — | Stop vanity search after this many attempts. |
--timeout-ms | integer | 0 | Vanity search timeout. Zero means no explicit timeout in this CLI path. |
--report-every | integer | 1000000 | Progress reporting interval during vanity search. |
--json | boolean | — | Emit structured JSON instead of the formatted terminal card. |
slrd import
Import a base58 or JSON-array Solana secret key into encrypted wallet storage.
slrd import <private_key> [name] [--force]
cat key.json | slrd import --stdin [name] [--force]- --stdin keeps the key out of the command line. --force and --overwrite are accepted by the implementation as the same overwrite request.
- Re-importing the same address can update it without overwrite; replacing a different wallet that already owns the requested name requires overwrite permission.
| Option | Type | Default | Meaning |
|---|---|---|---|
--stdin | boolean | — | Read the private key from standard input. |
--force / --overwrite | boolean | — | Allow replacing a different wallet that already uses the requested name. |
slrd export
Export a stored signing wallet's secret key after the signing vault is unlocked.
slrd export <wallet|address> [--json] [--out <path>]- Without --json, the secret is emitted as base58. With --json, it is emitted as a JSON byte array.
- When --out is used, the CLI creates the parent directory and writes the file with exclusive-create semantics and mode 0600. Without --out, secret material goes to stdout while wallet metadata goes to stderr so piping remains clean.
| Option | Type | Default | Meaning |
|---|---|---|---|
--json | boolean | — | Use keypair JSON byte-array format instead of base58. |
--out | path | — | Write the secret to a new file instead of stdout. |
- This command intentionally exposes secret key material. Treat terminal history, redirected output, and destination files as sensitive.
Contacts and balances
slrd contact
Manage public-address contacts separately from signing wallets and group members.
slrd contact add <name> <address> [--force]
slrd contact list
slrd contact show <name|address>
slrd contact remove <name|address>- Contacts are destination references only. They never become signing wallets and are explicitly kept separate from wallet/group membership.
| Option | Type | Default | Meaning |
|---|---|---|---|
--force | boolean | — | Allow contact replacement when adding a conflicting entry. |
slrd wallets
List stored wallets, showing SOL by default and optionally scanning token balances.
slrd wallets [--wallet <wallet>] [--group <name>] [--token <token> | --tokens] [--token-totals] [--only-with-tokens] [--rpc-concurrency N] [--rpc-delay-ms N] [--addresses-only]- Token scans are opt-in for the wallets command. --token selects one registered token; --tokens requests the broader token scan. The implementation rejects using both together.
- Filters can narrow to one wallet or a group. --addresses-only emits compact alias/address lines without balance RPC work.
slrd balances
Read SOL and SPL balances for one stored wallet.
slrd balances --wallet <wallet> [--token <token>] [--show-zero]- Unlike slrd wallets, balances requires a single wallet and opts into token balance inspection as part of the command's purpose.
slrd fees
Sum actual on-chain transaction fees paid by the selected wallet.
slrd fees --wallet <wallet> [--since 30m] [--limit 100]- The command inspects transaction history rather than estimating configured fees. --since constrains the lookback window and --limit caps fetched signatures/transactions.
slrd sol-flow
Audit native SOL, wrapped SOL, and SPL deltas from actual wallet transactions.
slrd sol-flow --wallet <wallet> [--since 30m] [--limit 100]- This is an accounting/debugging view intended to explain balance movement, including WSOL legs that can otherwise obscure SOL flow.
Token registry and history
slrd token
Inspect a mint and persist it in the Solard token registry.
slrd token <token_ca> [name] [--metadata-json <json>]- Adding a token reads mint state and asks registered venue adapters to inspect it, then persists decimals, token program, venue hints, and supplied metadata.
slrd token set
Patch persisted token routing/metadata fields.
slrd token set <token|ca> [--pool <address>] [--quote-mint <mint>] [--quote-program <program>] [--metadata-json <json>]- Use this when automatic inspection cannot infer a pool or quote configuration, or when you need to attach explicit metadata used by later routing and analysis.
slrd token refresh
Re-read mint state and venue inspection data for a registered token.
slrd token refresh <token|ca>- Refresh preserves the stored token identity while updating inspected venue metadata, decimals, token program, and refreshed timestamp.
slrd token backfill
Build durable token history, with explicit modes for lightweight signature indexing, sampled price materialization, or exact trade reconstruction.
slrd token backfill <ca> [--max-signatures N] [--json]
slrd token backfill <ca> --materialize [--price-sample-ms 1000] [--replace] [--rpc-concurrency 2]
slrd token backfill <ca> --exact [--replace] [--rpc-concurrency 2]- With neither --materialize nor --exact, the command indexes signatures only and deliberately avoids transaction hydration.
- --materialize reconstructs durable history plus sparse price candles at the requested sample interval. --exact requests exact trade reconstruction and durable sparse 1-second candle materialization from creation when coverage permits.
| Option | Type | Default | Meaning |
|---|---|---|---|
--max-signatures | integer | — | Cap indexed signatures in the lightweight mode. |
--materialize | boolean | — | Hydrate history and materialize sampled price data. |
--price-sample-ms | integer | 1000 | Sampling interval used by materialized price history. |
--exact | boolean | — | Request durable exact market fills instead of sampled-only history. |
--replace | boolean | — | Replace/rebuild stored materialized history. |
--rpc-concurrency | integer | 2 in documented examples | Control concurrent RPC transaction hydration. |
slrd token trades
Query the durable trade tape for a token with owner, side, size, and range filters.
slrd token trades <ca> [--from-start] [--min-sol N] [--owner <wallet>] [--side buy|sell] [--limit N] [--json]- --from-start asks for history from creation rather than a recent slice; --owner and --side narrow the stored tape without re-running execution.
slrd token analyze
Analyze durable token history for market and owner-level forensics.
slrd token analyze <ca> [--top N] [--first N] [--json]- The analyzer reports aggregate market activity and owner P/L-style summaries based on reconstructed durable history; output can be switched to JSON for downstream tooling.
slrd tokens
List tokens currently stored in the canonical Solard registry.
slrd tokensHolders and events
slrd holders
Take a complete on-chain holder snapshot directly from token-program accounts.
slrd holders <token|ca> [--exclude <a,b>] [--min-raw N] [--json]- This is snapshot-based rather than websocket-delta-based and is the holder primitive intended for payout calculations.
- Pump/PumpSwap metadata allows Solard to exclude curve, pool, and sharing-config inventory; --exclude adds explicit owner exclusions and --min-raw sets the minimum raw balance, which otherwise defaults to one raw unit in the SDK primitive.
slrd events
Stream typed live Pump/PumpSwap swap events plus mint-mentioned SPL transfers and creates for one token.
slrd events <token|ca> [--all|--swaps|--transfers|--creates|--swaps-only|--transfers-only] [--jsonl]- Use the filter flags to reduce event classes. --jsonl makes the stream machine-friendly for long-running consumers.
slrd events history
Reconstruct historical holder-balance movements with explicit coverage/completeness reporting.
slrd events history <token|ca> [--provider auto|solscan|rpc] [--from-slot N] [--to-slot N] [--slot-order] [--json|--jsonl]- The provider can be chosen explicitly or left on auto. Slot bounds are diagnostic controls for this event-history path; persistent neutral replay uses its own coverage model.
Vanity mint workflows
slrd vanity
Generate vanity mint keypairs to files rather than the canonical encrypted wallet pool.
slrd vanity --suffix pump --out .\mint.json [--count N]- This is the direct file-output vanity generator. The pool subcommands below instead store encrypted mint keypairs in the canonical database for launch consumption.
slrd vanity pool
Manage the encrypted mint-keypair pool used by launch and vamp workflows.
slrd vanity pool generate --suffix pump --count N [--max-attempts N]
slrd vanity pool list [--suffix pump] [--status available|reserved|used]
slrd vanity pool release <mint-address>- generate creates encrypted mint keypairs in the canonical DB, list filters them by suffix/status, and release moves an ambiguous or failed reservation back into a reusable state.
- Launch/vamp can consume this pool with --mint-pool <suffix> and may select a specific pooled mint with --mint-pool-address.