Getting started
- Describe your strategy in the chat with Shaper. For example: “Buy SOL when the 4h RSI drops below 30 and touches the lower Bollinger band. Take profit +5%.”
- Review the workflow in the editor. Every new workflow starts inactive and in the practice account.
- Test it with “Run once” or with a backtest of up to 5 years.
- Turn it on in practice. To move to real money you need an API key without withdrawal permission, two-step verification, and to type the bot's name.
Expressions
Every node has a label (velas for candles, rsi, voto for the committee vote…). Labels are identifiers, so the default ones are in Spanish; you can rename them. Any field can use the output of an earlier node by writing {etiqueta.campo}.
{rsi.value} < 30 and {velas.last.close} < {bb.lower}
{velas.close[-2]} # second-to-last close
{voto.votes[0].confidence} # first model's confidence
{params.tp_pct} # workflow parameter
Operators: arithmetic, comparison, and, or, not. Functions: min, max, abs, round, pct_change, crossover(a, b), crossunder(a, b). You can only reference nodes that come earlier in the flow.
Node catalog
Trigger
| Node | What it does | Credits |
|---|
Scheduled
trigger.schedule | Cron or fixed interval | 0 |
Webhook
trigger.webhook | Launch the bot from a URL (TradingView alerts) | 0 |
Closed candle
trigger.candle_close | When a candle of the pair closes | 0 |
Price event
trigger.price_event | Level cross or change | 0 |
Data
| Node | What it does | Credits |
|---|
Price/candles
data.candles | OHLCV from an exchange | 0 |
Order book
data.orderbook | Depth and spread | 0 |
Funding and open interest
data.funding_oi | Derivatives by exchange | 0.2 |
News
data.news | Headlines with sentiment | 0.2 |
Social sentiment
data.social_sentiment | Mentions and tone | 0.2 |
On-chain data
data.onchain | Flows and large wallets | 0.2 |
My portfolio
data.portfolio | Balances and positions | 0 |
Indicators
| Node | What it does | Credits |
|---|
RSI
indicator.rsi | Relative strength | 0 |
EMA/SMA
indicator.ema_sma | Moving averages | 0 |
Bollinger
indicator.bollinger | Volatility bands | 0 |
MACD
indicator.macd | Moving average convergence | 0 |
ATR
indicator.atr | Average true range | 0 |
ADX
indicator.adx | Trend strength | 0 |
VWAP
indicator.vwap | Volume-weighted average price | 0 |
Relative volume
indicator.relative_volume | Volume vs. its average | 0 |
Custom indicator
indicator.custom | Your formula in Python | 1 |
AI
| Node | What it does | Credits |
|---|
LLM analyst
ai.analyst | One model analyzes and gives its view | depends on model |
Model committee
ai.committee | Several models vote | depends on model |
Bull/bear debate
ai.debate | Two agents argue | depends on model |
Regime classifier
ai.regime | Trend, range or volatile | depends on model |
Summary
ai.summary | Short text for alerts | depends on model |
Logic
| Node | What it does | Credits |
|---|
Condition
logic.condition | Yes / no branch | 0 |
Score
logic.score | Weighted sum of signals | 0 |
Filter
logic.filter | Lets it through if met | 0 |
Merge
logic.merge | Joins several branches | 0 |
Wait
logic.wait | Pause or wait for an event | 0 |
Code (Python)
logic.code | Custom logic | 1 |
Decision
| Node | What it does | Credits |
|---|
Trade Gate
decision.trade_gate | Final decision gate | 0 |
Size by % of portfolio
decision.position_size | Calculates the quantity | 0 |
Cooldown
decision.cooldown | Avoids trading back to back | 0 |
Execution
| Node | What it does | Credits |
|---|
Market order
exec.market_order | Buy or sell now | 1 |
Limit order
exec.limit_order | At a set price | 1 |
Stop/Take profit (OCO)
exec.oco | Linked exits | 1 |
Close position
exec.close_position | Full or partial | 1 |
Rebalance portfolio
exec.rebalance | Goes back to the target weights | 1 |
Notification
| Node | What it does | Credits |
|---|
Telegram
notify.telegram | Message to your chat | 0 |
WhatsApp
notify.whatsapp | Message to your number | 0.1 |
Email
notify.email | To your email | 0 |
Slack
notify.slack | To a channel | 0 |
Outbound webhook
notify.webhook_out | POST to your URL | 0 |
Save to log
notify.log | Bot log | 0 |
Credentials and security
- Your funds stay on your exchange. Bot Shaper never holds them.
- Create the API key with read and trading permissions only. If we detect withdrawal permission, we don't store the key.
- Keys are encrypted at rest and never shown again: you only see the last four characters.
- You can restrict the key to our outbound IPs and rotate or revoke it from Integrations.
Credits
Every workflow run uses credits based on its nodes: AI nodes cost according to the model, premium data nodes 0.2 and orders 1. Before turning on a bot you see its estimated daily cost. If you run out of credits, bots pause without leaving orders half-done. See the plans in Pricing.