{ "text": "..." }) are parsed by the same engine used for Telegram and Discord signal groups. Use this reference when authoring text lines or testing in the sandbox.
Entry patterns
| Intent | Example phrases |
|---|---|
| Buy / long | BUY SOL, LONG $BTC, APE WIF, entry on SOL |
| Sell / exit | SELL SOL, CLOSE, EXIT ALL, closed fully |
| Size | $500, 100 USDC, 500 USD notional |
| Take profit | TP 180, TP1: 95.00, target 2.10 |
| Stop loss | SL 165, stop 0.00372 |
| Leverage | LEV 5X, 5x leverage, isolated 10x |
| Entry zone | ZONE 140-145, BETWEEN 0.21 and 0.22 |
| Breakout | BREAKOUT ABOVE 150, BREAK BELOW 140 |
Lifecycle patterns
| Intent | Keywords |
|---|---|
| Cancel | CANCEL, INVALIDATED, ABORT, SETUP BROKEN, SKIP |
| Breakeven | BREAKEVEN, BE, MOVE SL TO BE, SL TO BE |
| Partial close | TAKE HALF, CLOSE 50%, TRIM, SCALE OUT, PARTIAL |
| SL hit | SL HIT, STOPPED OUT, HIT SL |
| Amend SL/TP | SL updated 165 → 170, TP1 retargeted 180 |
Token resolution
- Tickers:
$SOL,SOL,WIF(after entry verbs) - Contract: Solana mint address in structured/legacy payloads
- Unresolved tickers return
token_unresolvedskip reason
Multi TP ladders
Custom keywords
Per-agentsignalDetectionRule can override buy/sell/TP/SL keyword lists. Test parsing:
Always include idempotency
Structured alternative
For production bots, prefer structuredeventType payloads in Signal envelope to avoid parser ambiguity.