Create a Price Alert
alerts_create_priceCreates a Price Alert in the signed-in member's account: it fires when a market's price crosses, crosses above, crosses below, is above or is below a level the member chose, as often as frequency says. It notifies the member in-app (Vela on the web and on their phone) when the account has that channel; the result says plainly which channel it notifies, or that it notifies no one. With chart_id from chart_open it also draws the level on that chart. Use alerts_create_custom for an indicator's condition instead. How many alerts the member may have on comes from their LuxAlgo plan: at a limit the call answers with the limit and where to upgrade, and nothing is created. It changes the member's account, so the chat app may ask the user to confirm first. Requires signing in with a LuxAlgo account (OAuth).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"symbol": "<symbol>",
"condition": "<condition>",
"level": "<level>",
"context": "<context>"
},
"name": "alerts_create_price"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The alert's name; default says the market and the level. | |
| level | Yes | The price level, e.g. 100000 or "0.00012345". | |
| symbol | Yes | The market, a market as source:TICKER, e.g. "binance:BTCUSDT", "hyperliquid:BTC", "coinbase:BTC-USD", "edgx:AAPL" (US stocks and ETFs; "NASDAQ:AAPL" works too), "fx:EURUSD", "commodities:XAUUSD", "cme:ES1!". A bare stablecoin pair ("BTCUSDT") is read as Binance and a bare "ES1!" as CME. | |
| context | Yes | Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution." | |
| chart_id | No | A chart_id from chart_open: the level is also drawn on that chart. | |
| condition | Yes | cross: price crosses the level either way; cross_up: crosses above it; cross_down: crosses below it; above / below: price is above / below it. | |
| frequency | No | How often it fires: once (then it stops), once_per_bar (at most once per bar of `timeframe`), once_per_bar_close (when a bar of `timeframe` closes with the condition met), every_time (each time, spaced by min_interval_seconds). | once |
| timeframe | No | The bar for once_per_bar and once_per_bar_close. | 1h |
| min_interval_seconds | No | every_time only: the least time between two fires, in seconds (default 60). |