Navigation

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.

Providers are matched by the 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 provider field in your signal payloads
  • Configure the allowed actions and pairs (see below)
  • Click Save

Provider Configuration Fields

FieldDescription
NameThe provider identifier. Must match the "provider" field in signal payloads exactly. Case-sensitive.
EnabledToggle to temporarily disable a provider without deleting it.
Allowed ActionsComma-separated list of actions this provider is permitted to trigger. Leave blank to allow all actions.
Allowed PairsComma-separated list of pairs this provider can trade. Leave blank to allow all active pairs (Global scope).
DescriptionOptional 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.

ColumnDescription
TimeTimestamp when the signal was received by the relay.
ProviderThe provider name from the signal payload.
ActionThe action requested.
PairThe pair specified (if applicable).
StatusAccepted, Rejected (reason shown on hover), Rate-limited, or Expired.
Use the Signal Log to debug provider configurations. If a signal shows as Rejected, hovering over the status shows the rejection reason (e.g. provider not found, action not permitted, pair not allowed).

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_all permissions.
  • 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.