Signals
Provider Management
How to add, configure, and restrict signal providers so that only trusted sources can control your bot.
A provider is any external source that sends signals to your bot — a TradingView alert, a custom script, a third-party signal service, etc. The Provider Management section in Settings → Signals lets you define which providers are trusted, which actions they are allowed to perform, and which pairs they can trade.
provider field in the signal JSON payload. If a signal arrives with a provider name not on your allowed list, it is rejected and logged.Adding a Provider
- ›Open Settings → Signals and scroll to the Providers section
- ›Click Add Provider
- ›Give the provider a name — this must exactly match the
providerfield in your signal payloads - ›Configure the allowed actions and pairs (see below)
- ›Click Save
Provider Configuration Fields
| Field | Description |
|---|---|
| Name | The provider identifier. Must match the "provider" field in signal payloads exactly. Case-sensitive. |
| Enabled | Toggle to temporarily disable a provider without deleting it. |
| Allowed Actions | Comma-separated list of actions this provider is permitted to trigger. Leave blank to allow all actions. |
| Allowed Pairs | Comma-separated list of pairs this provider can trade. Leave blank to allow all active pairs (Global scope). |
| Description | Optional notes to help you remember what this provider is. |
Restricting Actions
You can limit which actions a provider is allowed to trigger. For example, a TradingView alert that only fires buy signals should only have the buy action permitted — this prevents it from accidentally closing positions if the payload is malformed.
Example — TradingView buy-only provider
Name: tradingview-btc Allowed Actions: buy, cancel Allowed Pairs: BTCUSDT
Example — Full-control provider for a custom script
Name: my-bot-script Allowed Actions: (all) Allowed Pairs: (all active pairs)
Restricting Pairs
When the Scope is set to Per-Pair in Settings → Signals, providers will only be able to trigger buys on pairs explicitly listed in their Allowed Pairs field. This is the most secure configuration if you are using multiple providers for different pairs.
When Scope is set to Global, the Allowed Pairs list still restricts which pairs the provider can affect — but only the Allowed Pairs restriction is applied, not a bot-wide pair filter.
Signal Log
Every signal received — accepted or rejected — is recorded in the Signal Log available in Settings → Signals → Signal Log. The log retains up to 180 days of history with up to the last 100 entries shown in the UI.
| Column | Description |
|---|---|
| Time | Timestamp when the signal was received by the relay. |
| Provider | The provider name from the signal payload. |
| Action | The action requested. |
| Pair | The pair specified (if applicable). |
| Status | Accepted, Rejected (reason shown on hover), Rate-limited, or Expired. |
Best Practices
- ›One provider per source — create a separate provider entry for each tool sending signals. This makes the log easy to read and lets you disable individual sources without affecting others.
- ›Restrict actions — only grant the minimum actions a provider needs. A buy-only alert provider should never have
close_allpermissions. - ›Restrict pairs — if a provider only trades BTC, lock it to BTCUSDT. This prevents a misconfigured alert from firing on an unintended pair.
- ›Set a rate limit — configure the max signals per hour in Risk Controls to match the expected frequency of your provider. A TradingView daily chart alert should never fire more than a few times per day.
- ›Test in paper mode — enable Paper Trading before connecting live providers for the first time, and confirm signals appear in the log and trigger the expected actions.
