AI Strategy Helper
Generate strategy JSON with the AI assistant of your choice, then paste it into the SharkBlock editor.
How It Works
SharkBlock doesn’t run any AI model itself. Instead, the strategy editor includes a prompt helper that produces a long, structured prompt you can copy into ChatGPT, Claude, or any chat AI. The AI generates a JSON strategy that you paste back into the editor.
The flow:
- Open the AI prompt helper in the strategy editor (the sparkle icon)
- Pick the prompt type — Classic or Onboarding (see below)
- Pick the generation mode — Filters or Algorithm
- Copy the prompt to your AI assistant
- Describe what you want to the AI (risk, target tokens, position size)
- Paste the AI’s JSON output back into SharkBlock
- Review and adjust before saving
If you want an AI agent that connects directly to SharkBlock and can manage strategies through the API, use our MCP integration instead.
Prompt Types
| Type | For whom | Style |
|---|---|---|
| Classic | Experienced traders | Direct: asks targeted questions, generates the JSON |
| Onboarding | Beginners | Guided 7-phase walkthrough with explanations |
Generation Modes
| Mode | Output | Complexity |
|---|---|---|
| Filters | Flat filter list (all ANDed) | Basic to Intermediate |
| Algorithm | Workflow tree with branches | Intermediate to Advanced |
Filters Mode — JSON Schema
Use this schema when generating with "editorMode": "filters".
{
"version": 1,
"editorMode": "filters",
"amount": number | null,
"maxConcurrentPositions": number | null,
"filterCategories": {
"[categoryId]": {
"isEnabled": boolean,
"activeFilters": [{
"fieldId": string,
"operator": "=" | ">" | "<" | ">=" | "<=" | "between",
"value": number | [number, number] | boolean,
"timeframe"?: "1min" | "5min" | "15min" | "1h" | "4h" | "6h" | "12h" | "24h",
"useOrganic"?: boolean
}]
}
},
"buyPreset": {
"slippage": number,
"priorityFees": "low" | "medium" | "high",
"antiMev": "off" | "reduced" | "secured"
} | null,
"sellPreset": {
"slippage": number,
"priorityFees": "low" | "medium" | "high",
"antiMev": "off" | "reduced" | "secured"
} | null,
"takeProfitTargets": [{
"type": "take-profit",
"triggerPercentageBps": number,
"amountPercentageBps": number
}],
"stopLossTargets": [{
"type": "stop-loss",
"triggerPercentageBps": number,
"amountPercentageBps": number
}]
}Algorithm Mode — JSON Schema
Use this schema when generating with "editorMode": "algorithm".
{
"version": 1,
"editorMode": "algorithm",
"amount": number | null,
"maxConcurrentPositions": number | null,
"workflowTree": {
"rootId": "start",
"nodes": {
"start": {
"id": "start",
"type": "start",
"parentId": null,
"branchType": null,
"childId": string | null
},
"[condition-N]": {
"id": string,
"type": "condition",
"parentId": string,
"branchType": "yes" | "no" | null,
"query": QueryGroup | null,
"yesChildId": string | null,
"noChildId": string | null,
"label"?: string
},
"[action-N]": {
"id": string,
"type": "action",
"parentId": string,
"branchType": "yes" | "no" | null,
"action": "take_position" | "do_nothing"
}
}
},
"buyPreset": { ... } | null,
"sellPreset": { ... } | null,
"takeProfitTargets": [...],
"stopLossTargets": [...]
}QueryGroup Structure
{
"id": string,
"combinator": "and" | "or",
"not"?: boolean,
"conditions": [{
"id": string,
"fieldId": string | null,
"operator": "=" | ">" | "<" | ">=" | "<=" | "between",
"value": number | [number, number] | boolean,
"timeframe"?: "1min" | "5min" | "15min" | "1h" | "4h" | "6h" | "12h" | "24h",
"useOrganic"?: boolean
}],
"groups": [QueryGroup]
}Common Parameters Reference
Presets
| Field | Values | Description |
|---|---|---|
slippage | 1 – 10000 (BPS) | 100 BPS = 1%, max 100% |
priorityFees | low, medium, high | Validator priority fee |
antiMev | off, reduced, secured | Private bundle protection |
Targets
| Field | Values | Description |
|---|---|---|
triggerPercentageBps | take-profit: 1 to 10000 (POSITIVE) · stop-loss: -10000 to -1 (NEGATIVE) | 100 BPS = 1% |
amountPercentageBps | 1 – 10000 | % of position to sell (10000 = 100%) |
Position Settings
| Field | Values | Description |
|---|---|---|
amount | > 0 (SOL) | Position size per trade |
maxConcurrentPositions | 1 – 50 | Maximum simultaneous positions |
Timeframes
1min · 5min · 15min · 1h · 4h · 6h · 12h · 24h
(Price change does not support 15min.)
Filter Operators
= · > · < · >= · <= · between · before · after · in · not_in
Target Examples
Values in basis points (100 BPS = 1%).
Stop-loss at -20%, sell 100%:
{ "type": "stop-loss", "triggerPercentageBps": -2000, "amountPercentageBps": 10000 }Take-profit at +50%, sell 30%:
{ "type": "take-profit", "triggerPercentageBps": 5000, "amountPercentageBps": 3000 }Related
- Classic Prompt — direct expert flow
- Onboarding Prompt — guided beginner flow
- Filters Mode
- Algorithm Mode
- MCP Integration — AI agents that talk to SharkBlock directly