Config schema
The entire app state lives in two files: settings.json and auth.json. Below is the full schema of settings.json. You can edit it by hand, but most of it is exposed in the UI under Settings.
Where the files live
- Windows -
%APPDATA%\spark\settings.json - macOS -
~/Library/Application Support/spark/settings.json
app - application behaviour
General UI and action settings.
| Key | Type | Default | Description |
|---|---|---|---|
openInBrowser | boolean | false | Enables auto-opening of passing tokens in the browser. |
openMode | "new-tab" | "current-tab" | "new-tab" | Auto-open mode. current-tab requires Spark Opener. |
terminal | "axiom" | "padre" | "gmgn" | "axiom" | Terminal Spark will open the token in. |
uiScale | number (75–150) | 100 | UI scale, in percent. |
soundEnabled | boolean | true | Sound notifications when a new token reaches the feed. |
soundVolume | number (0–100) | 70 | Notification volume, in percent. |
filters.devHold
Filter by the developer's share of supply. See Dev Holdings.
| Key | Type | Default | Description |
|---|---|---|---|
devMin | number (0.1–100) | 0.1 | Minimum dev ownership. |
devMax | number (0.1–100) | 77 | Maximum dev ownership. |
devHoldEnabled | boolean | true | Whether the filter is on. |
filters.migration
Developer track-record filter. See Migration.
| Key | Type | Default | Description |
|---|---|---|---|
migrationPct | number (5–100) | 15 | Minimum migration rate for the developer. |
migrationEnabled | boolean | true | Whether the migration filter is on. |
lastTokenMigrated | boolean | false | Require the dev's latest token to have migrated. |
filters.protocols
Launchpad toggles. See Protocols.
| Key | Type | Default | Description |
|---|---|---|---|
showPump | boolean | true | Show pump.fun tokens. |
showMayhem | boolean | true | Show Mayhem-mode tokens. |
showBonk | boolean | true | Show bonk.fun tokens. |
filters.fees
Filter by fees on past tokens. See Fees.
| Key | Type | Default | Description |
|---|---|---|---|
feesFilterEnabled | boolean | false | Whether the filter is on. |
feesFilterMode | "total" | "average" | "each" | "total" | Calculation mode: sum / average / each. |
feesFilterValue | number (SOL, ≥0) | 1 | Threshold in SOL. |
feesTerminal | "axiom" | "gmgn" | "axiom" | Where to read fee data from. |
filters.funding
Filter by dev wallet funding. See Funding.
| Key | Type | Default | Description |
|---|---|---|---|
fundingEnabled | boolean | false | Whether the filter is on. |
minFundingAmount | number (SOL, ≥0) | 0 | Minimum SOL. 0 = disabled. |
maxFundingAmount | number (SOL, ≥0) | 0 | Maximum SOL. 0 = no limit. |
maxFundingAge | number (hours, ≥0) | 0 | Maximum age of the funding tx in hours. |
filters.community
X / Twitter community filter. See Community.
| Key | Type | Default | Description |
|---|---|---|---|
communityEnabled | boolean | false | Whether the filter is on. |
onlyCommunity | boolean | false | Show only tokens with an X community. |
minCommunityMembers | number (≥0) | 0 | Minimum members. |
maxCommunityMembers | number (≥0) | 0 | Maximum members. 0 = no limit. |
minCreatorFollowers | number (≥0) | 0 | Minimum creator followers. |
maxCreatorFollowers | number (≥0) | 0 | Maximum creator followers. |
maxCommunityAge | number (hours, ≥0) | 0 | Maximum community age in hours. 0 = no limit. |
maxCreatorAge | number (hours, ≥0) | 0 | Maximum creator account age in hours. |
labels
Custom labels for wallets and X creators.
| Key | Type | Default | Description |
|---|---|---|---|
labels.wallets | { [address]: string (≤10 chars) } | {} | Address → tag dictionary for developer wallets. |
labels.creators | { [screenName]: { label, color, screenName } } | {} | X community creator labels with colour and caption. |
blacklist
Developers and creators whose tokens are always hidden.
| Key | Type | Default | Description |
|---|---|---|---|
blacklist.wallets | string[] | [] | Dev wallet addresses whose tokens are never shown. |
blacklist.creators | { [screenName]: displayName } | {} | X creators whose tokens are always hidden. |
whitelist
Developers and creators whose tokens bypass all filters.
| Key | Type | Default | Description |
|---|---|---|---|
whitelist.wallets | string[] | [] | Dev wallet addresses. Their tokens always reach the feed. |
whitelist.creators | { [screenName]: displayName } | {} | X creators whose tokens always bypass community filters. |
Export, import, and AI helper
- Settings → Config → Export to File - saves the current config as a JSON file.
- Copy to clipboard - quick share. The JSON is copied as-is.
- Import from File - load a config back. Filters, labels, and lists apply immediately.
- AI Helper - copies a ChatGPT prompt that helps you assemble a correct JSON tailored to your strategy.