dwlfInteract with DWLF (dwlf.co.uk), a market analysis platform for crypto and stocks. Use for: market data, price charts, technical indicators (EMA, RSI, DSS, S/R, trendlines, candlestick patterns, SMC), strategies (visual signal builder), backtesting, custom events, trade signals, portfolio tracking, watchlists, trade journaling, chart annotations, trade plans, position sizing, and academy content. Trigger on: market analysis, trading signals, backtests, portfolio, DWLF, chart indicators, support/resistance, strategy builder, trade journal, watchlist, chart annotations, trade plans, position sizing, how's BTC, how's the market.
Install via ClawdBot CLI:
clawdbot install andywilliams/dwlfAPI base: https://api.dwlf.co.uk/v2
Use API key auth. Check TOOLS.md for the key. Header:
Authorization: ApiKey dwlf_sk_...
Helper script: scripts/dwlf-api.sh
# Generic GET request
./scripts/dwlf-api.sh GET /market-data/BTC-USD
# With query params
./scripts/dwlf-api.sh GET "/events?symbol=BTC-USD&limit=10"
# POST request
./scripts/dwlf-api.sh POST /visual-backtests '{"strategyId":"...","symbol":"BTC-USD"}'
# Create a horizontal line annotation at a key support level
./scripts/dwlf-api.sh POST /annotations '{
"symbol": "BTC-USD",
"timeframe": "1d",
"type": "hline",
"data": { "price": 95000, "color": "#00ff00", "label": "Key Support", "lineStyle": "solid", "lineWidth": 2, "showPrice": true },
"origin": "ai"
}'
# Create a text annotation on chart
./scripts/dwlf-api.sh POST /annotations '{
"symbol": "ETH-USD",
"timeframe": "4h",
"type": "text",
"data": { "text": "Breakout zone", "price": 3800, "time": "2025-06-01T00:00:00Z", "color": "#ffaa00", "fontSize": 14 },
"origin": "ai"
}'
# Bulk create multiple annotations
./scripts/dwlf-api.sh POST /annotations/bulk '{
"annotations": [
{ "symbol": "BTC-USD", "timeframe": "1d", "type": "hline", "data": { "price": 100000, "color": "#ff0000", "label": "Resistance" }, "origin": "ai" },
{ "symbol": "BTC-USD", "timeframe": "1d", "type": "hline", "data": { "price": 92000, "color": "#00ff00", "label": "Support" }, "origin": "ai" }
]
}'
# List annotations for a symbol
./scripts/dwlf-api.sh GET "/annotations?symbol=BTC-USD&timeframe=1d"
# Update an annotation (merges data ā only changes specified fields)
./scripts/dwlf-api.sh PUT /annotations/abc123 '{ "data": { "color": "#ff0000" } }'
# Calculate position size
./scripts/dwlf-api.sh POST /tools/position-size '{
"accountSize": 10000,
"riskPercent": 2,
"entryPrice": 95000,
"stopLoss": 93000,
"symbol": "BTC-USD"
}'
# Create a trade plan
./scripts/dwlf-api.sh POST /trade-plans '{
"symbol": "BTC-USD",
"direction": "long",
"entryPrice": 95000,
"stopLoss": 93000,
"takeProfit": 100000,
"notes": "Bounce off key support with RSI divergence"
}'
BTC-USD, ETH-USD, SOL-USD (always with -USD suffix)TSLA, NVDA, META, MARA, RIOTGBP-USD, EUR-USDIf user says "BTC" ā use BTC-USD. If "TSLA" ā use TSLA.
| Method | Path | Description |
|--------|------|-------------|
| GET | /market-data/{symbol}?interval=1d&limit=50 | OHLCV candles |
| GET | /market-data/symbols | List all tracked symbols |
| GET | /support-resistance/{symbol} | S/R levels with scores |
| GET | /chart-indicators/{symbol}?interval=1d | All indicators (RSI, EMA, MACD, etc.) |
| GET | /trendlines/{symbol} | Auto-detected trendlines |
| GET | /events?symbol={symbol}&limit=20 | System events (breakouts) |
| GET | /events?type=custom_event&scope=user&symbol={symbol}&days=30 | User's custom events (wcl, dss, reversals etc.) |
| Method | Path | Description |
|--------|------|-------------|
| GET | /annotations?symbol={symbol}&timeframe={tf} | List annotations |
| POST | /annotations | Create annotation (hline, text, trendline, rectangle, channel) |
| PUT | /annotations/{annotationId} | Update annotation (merges data fields) |
| DELETE | /annotations/{annotationId} | Delete annotation |
| POST | /annotations/bulk | Bulk create annotations |
| Method | Path | Description |
|--------|------|-------------|
| GET | /trade-plans | List trade plans |
| GET | /trade-plans/{planId} | Get trade plan |
| POST | /trade-plans | Create trade plan |
| PUT | /trade-plans/{planId} | Update trade plan |
| DELETE | /trade-plans/{planId} | Delete trade plan |
| POST | /trade-plans/{planId}/duplicate | Duplicate trade plan |
| Method | Path | Description |
|--------|------|-------------|
| POST | /tools/position-size | Calculate position size from risk params |
| Method | Path | Description |
|--------|------|-------------|
| GET | /user/settings | Get user settings |
| PUT | /user/settings | Update user settings |
| DELETE | /user/settings/{settingKey} | Delete a setting |
| Method | Path | Description |
|--------|------|-------------|
| GET | /visual-strategies | List user's strategies |
| GET | /visual-strategies/{id} | Strategy details |
| POST | /visual-strategies | Create strategy |
| PUT | /visual-strategies/{id} | Update strategy |
| GET | /user/trade-signals/active | Active trade signals |
| GET | /user/trade-signals/recent?limit=20 | Recent signals |
| GET | /user/trade-signals/stats | Signal performance stats |
| GET | /user/trade-signals/symbol/{symbol} | Signals for a symbol |
| Method | Path | Description |
|--------|------|-------------|
| POST | /backtests | Trigger backtest (async) |
| GET | /backtests | List backtests |
| GET | /backtests/summary | Backtest summary |
| GET | /backtests/{requestId} | Get backtest status |
| GET | /backtests/{requestId}/results | Get backtest results |
| DELETE | /backtests/{requestId} | Delete a backtest |
Backtests are async ā POST triggers, then poll GET until status: "completed".
{ strategyId, symbols: ["BTC-USD"], startDate: "2025-01-01", endDate: "2026-01-30" }symbols is an array, not symbol (singular).| Method | Path | Description |
|--------|------|-------------|
| GET | /portfolios | List portfolios |
| GET | /portfolios/{id} | Portfolio details + holdings |
| GET | /trades?status=open | List trades |
| POST | /trades | Log a new trade |
| PUT | /trades/{id} | Update trade |
| GET | /trade-plans | List trade plans |
| Method | Path | Description |
|--------|------|-------------|
| GET | /watchlist | Get watchlist |
| POST | /watchlist | Add symbol ({"symbol":"BTC-USD"}) |
| DELETE | /watchlist/{symbol} | Remove symbol |
| Method | Path | Description |
|--------|------|-------------|
| GET | /custom-events | List custom events |
| POST | /custom-events | Create custom event |
| GET | /custom-events/{id} | Event details |
| Method | Path | Description |
|--------|------|-------------|
| POST | /custom-event-symbols/:eventId/enable-all | Bulk activate symbols for an event |
| POST | /custom-event-symbols/:eventId/disable-all | Bulk deactivate symbols for an event |
| GET | /custom-event-symbols/event/:eventId | Get active symbols for an event |
| GET | /custom-event-symbols | List all event-symbol associations |
| Method | Path | Description |
|--------|------|-------------|
| POST | /strategy-symbols/:strategyId/enable-all | Bulk activate symbols for a strategy |
| POST | /strategy-symbols/:strategyId/disable-all | Bulk deactivate symbols for a strategy |
| GET | /strategy-symbols/strategy/:strategyId | Get active symbols for a strategy |
| GET | /strategy-symbols | List all strategy-symbol associations |
| Method | Path | Description |
|--------|------|-------------|
| GET | /ai/dashboard | Full account overview: watchlist, signals, trades, portfolios, strategies, events |
| GET | /ai/symbol-brief/{symbol} | Single-symbol snapshot: price, candles, indicators, S/R, events, signals |
| GET | /ai/strategy-performance | All strategies with signal stats, win rate, P&L breakdowns |
š” Use these first! The AI summary endpoints are pre-aggregated for AI consumption. When a user asks "how's BTC?" or "what's going on?", hit these before making multiple individual calls.
| Method | Path | Description |
|--------|------|-------------|
| POST | /evaluations | Trigger evaluation run |
| GET | /evaluations/{id} | Get evaluation results |
ā ļø IMPORTANT: Creating a custom event or strategy does NOT automatically activate it for any symbols. After creation, you MUST ask the user which symbols to activate it for, then call the enable endpoint. Without this step, the event/strategy will not fire or generate signals.
POST /custom-eventsPOST /custom-events/{id}/compilePOST /custom-event-symbols/{eventId}/enable-all with { "symbols": ["BTC-USD", "ETH-USD"] }POST /visual-strategiesPOST /visual-strategies/{id}/compilePOST /strategy-symbols/{strategyId}/enable-all with { "symbols": ["BTC-USD", "ETH-USD"] }ā ļø Any update to a custom event or strategy requires recompilation!
The evaluator runs the compiled output, not the visual graph. If you update nodes, edges, conditions, or parameters without recompiling, the changes have no effect.
POST /custom-events/{id}/compilePOST /visual-strategies/{id}/compileAlways recompile immediately after any PUT update call.
GET /custom-event-symbols/event/{eventId}GET /strategy-symbols/strategy/{strategyId}GET /custom-event-symbols and GET /strategy-symbols (query: ?activeOnly=true)POST /custom-event-symbols/{eventId}/disable-all with { "symbols": [...] }POST /strategy-symbols/{strategyId}/disable-all with { "symbols": [...] }When presenting data to users:
Market overview: Show price, % change, key S/R levels, and any recent events.
Signals: Show symbol, direction, entry, stop loss, confidence score, strategy name.
S/R levels: Sort by score (strongest first), show level and touch count.
Backtests: Show trade count, win rate, total return, Sharpe ratio, best/worst trades.
EMA (multiple periods), SMA, RSI, MACD, Bollinger Bands, DSS (Double Smoothed Stochastic),
Stochastic RSI, ATR, ADX, OBV, Volume Profile, Ichimoku Cloud, Fibonacci Retracement,
Support/Resistance, Trendlines, Candlestick Patterns, SMC (Order Blocks, FVGs, BOS/ChoCH).
DWLF Academy is a CDN-hosted collection of educational content (15 tracks, 60+ lessons) covering indicators, events, strategies, charting, and more. No auth required.
Use academy tools to read lesson content and understand DWLF concepts:
dwlf_list_academy_tracks ā browse all tracks and lessonsdwlf_search_academy ā search by keyworddwlf_get_academy_lesson ā read a specific lesson (markdown)When a user asks "how does X work in DWLF?" or "what is DSS?", check the academy first ā it likely has a lesson explaining it.
references/api-endpoints.mdreferences/strategy-builder.mdGenerated Mar 1, 2026
A retail trader uses the skill to fetch real-time market data and technical indicators like RSI and EMA for BTC-USD, helping them identify entry and exit points. They create chart annotations to mark support/resistance levels and set up trade plans with position sizing based on their risk tolerance.
A portfolio manager leverages the skill to monitor a diverse portfolio of stocks and crypto assets, using watchlists and trade journaling features. They analyze trade signals and backtest strategies to optimize performance and adjust allocations based on market trends.
A financial educator utilizes the skill to access academy content and create custom events for teaching market concepts like candlestick patterns. They annotate charts with educational notes and use visual signal builders to demonstrate trading strategies to students.
A quantitative analyst employs the skill to develop and backtest automated trading strategies using the visual strategy builder and custom events. They integrate real-time data feeds to generate trade signals and track performance stats for refinement.
A risk analyst uses the skill to calculate precise position sizes for trades based on account size and risk percentages. They create trade plans with stop-loss and take-profit levels, ensuring compliance with risk management protocols across multiple assets.
Offer tiered subscriptions for access to premium features like advanced technical indicators, backtesting tools, and real-time trade signals. Revenue is generated through monthly or annual fees, with higher tiers including personalized support and custom strategy development.
Provide basic market data and annotation tools for free, while charging for advanced features such as bulk annotations, detailed backtesting reports, and academy content. This model attracts a broad user base and converts them to paying customers for enhanced functionality.
License the API to financial institutions, hedge funds, and trading firms for integration into their internal systems. Revenue comes from licensing fees based on usage volume, data access levels, and custom development services for tailored solutions.
š¬ Integration Tip
Ensure API keys are securely stored and use the provided helper script for consistent API calls; always validate symbol formats like BTC-USD to avoid errors in market data requests.
Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management, watchlists with alerts, dividend analysis, 8-dimension stock scoring, viral trend detection (Hot Scanner), and rumor/early signal detection. Use for stock analysis, portfolio tracking, earnings reactions, crypto monitoring, trending stocks, or finding rumors before they hit mainstream.
Get stock prices, quotes, fundamentals, earnings, options, dividends, and analyst ratings using Yahoo Finance. Uses yfinance library - no API key required.
Yahoo Finance (yfinance) powered stock analysis skill: quotes, fundamentals, ASCII trends, high-resolution charts (RSI/MACD/BB/VWAP/ATR), plus optional web a...
Become an autonomous prediction market trader on Polymarket with AI-powered analysis and a performance-backed token on Base. Trade real markets, build a track record, and let the buyback flywheel run.
Get cryptocurrency token price and generate candlestick charts via CoinGecko API or Hyperliquid API. Use when user asks for token price, crypto price, price chart, or cryptocurrency market data.
Query Polymarket prediction markets - check odds, trending markets, search events, track prices and momentum. Includes watchlist alerts, resolution calendar,...