BRINOVS Block Guide
195 block entries in plain English: 132 official entries (Deriv's Bot Builder blocks and the standard logic, math, text and list blocks) and 63 BRINOVS entries (the 51 extra BRINOVS blocks and their small helper blocks). Each one tells you what it does, where it goes, how it works, and shows a worked example.
What is this guide?
BRINOVS is a free trading page and bot builder for Deriv. A trading bot is a set of instructions that places trades for you. In the Bot Builder you do not write code. You snap coloured blocks together, like puzzle pieces. This guide explains every block you can use:
- the official blocks that come with Deriv's Bot Builder, and the standard logic and math blocks;
- the 51 BRINOVS blocks, our own additions: safer buying, several contracts at once, stake plans, loss limits, entry filters, analysis, statistics, alerts and licensing.
You do not need to read it in order. Open the page for the group you care about, or use the search box on the guide home page to find a block by name.
How a bot runs
Every bot is built from four big "mother" blocks. They run in this order, round after round:
- Trade parameters. Runs once when you press Run. It chooses the market, the kind of trade, the duration and the stake. Things you want to happen only once at the start (setting limits, switching on a test mode) go in its "Run once at start" part.
- Purchase conditions. The bot waits here, tick after tick, until your condition is true. Then it buys the contract with the Purchase block.
- Sell conditions. While the contract is open, the bot can check whether to sell it early. This part is optional.
- Restart trading conditions. After the contract ends, the bot decides whether to trade again. You put the "Trade again" block here, usually behind a check such as "stop after a loss streak".
┌─ 1. Trade parameters ─────────────────────────────────────┐
│ Market: [ Volatility 100 (1s) ▾ ] Trade type: [ Digits ▾ ] │
│ Run once at start: (your setup blocks) │
│ Trade options: Duration [ 1 ] ticks Stake [ 1 ] USD │
└───────────────────────────────────────────────────────────┘
┌─ 2. Purchase conditions ──────────────────────────────────┐
│ if < your condition > then Purchase [ Differs ▾ ] │
└───────────────────────────────────────────────────────────┘
┌─ 3. Sell conditions (optional) ───────────────────────────┐
│ if < Sell is available > then Sell at market │
└───────────────────────────────────────────────────────────┘
┌─ 4. Restart trading conditions ───────────────────────────┐
│ Trade again │
└───────────────────────────────────────────────────────────┘A tick is one new price from the market. On a one-second index a tick arrives about every second.
The three shapes of block
- Action block. Does something: buys, sells, sets a value, shows a message. It snaps above and below other action blocks, like a brick in a wall.
- Value block. Gives back a number, a piece of text or a list. It plugs into a round socket on another block.
- True/false block. Gives back "true" or "false". It plugs into the socket of an
ifor any block that asks a yes/no question.
In the Bot Builder, value blocks and true/false blocks both have rounded ends. Where a block goes is always told in its Where it goes line.
How to read an entry
Every block in this guide has the same lines:
- Kind: whether it is an official Deriv block or a BRINOVS block (with its number from 1 to 51).
- Type id: the block's internal name. You never type it; it is here so you can search for it and tell us about it.
- Shape: action, value or true/false.
- Where it goes: the mother block or the socket it belongs in.
- What it does and How it works: the idea first, then the mechanics.
- Inputs and Gives back: every box and dropdown, and what comes out.
- Example: a text "screenshot" of the block as it looks in the Bot Builder.
- Good to know: limits, safe defaults and common mistakes.
How to read the text screenshots
The examples are drawn with plain characters so they load fast and work everywhere:
| You see | It means |
|---|---|
┌─ 2. Purchase conditions ─┐ | A mother block (a big section) |
[ 5 ] | A box where you type a number or text |
[ Rise ▾ ] | A dropdown: tap it and choose |
( Last digit ) | A value block plugged into a socket |
< Last digit ≥ 5 > | A true/false block plugged into a socket |
☐ and ☑ | A tick box, off and on |
Where the BRINOVS blocks are
In the Bot Builder, open the Blocks menu. After Deriv's own groups (Trade parameters, Purchase conditions, Sell conditions, Restart trading conditions, Analysis, Utility) you will find a folder called BRINOVS. It has 12 sub-folders, one for each part of this guide. A few BRINOVS blocks that are useful in almost every bot are already placed on a fresh Bot Builder, some of them switched off until you enable them. Your saved bots are never changed.
Using a ready-made bot
The Plug & Play tab has ready-made bots. Free bots load into the Bot Builder with one tap. A premium bot opens with its blocks fixed in place: you can change its numbers (stake, take profit, stop loss) and run it, but you cannot move or delete its blocks.
Safety first
- Always test on a demo account first. A demo account uses practice money.
- No block, indicator or strategy can promise profit. Markets are random, and many Deriv contracts pay less than 100% on a win.
- Set a stake you can afford to lose and use a loss limit.
- Blocks that mention risk limits help you control losses; they cannot remove the risk of trading.
Short glossary
- Market (symbol): what you trade, for example Volatility 100 (1s) Index.
- Contract: one trade, for example "Rise" over 5 ticks.
- Stake: the money you put into one contract.
- Payout: what the contract pays if you win, stake included.
- Duration: how long a contract runs, in ticks, seconds, minutes and so on.
- Barrier / prediction: the price level or digit your contract is compared with.
- Last digit: the last number of the latest price. Digit contracts are about this digit.
- Take profit / stop loss: a limit to stop after a target win or a maximum loss.
- Martingale: raising the stake after a loss to try to win it back. It can lose money very fast.
- Proposal: the price and payout Deriv offers you for a contract before you buy.
- Demo account: a practice account with virtual money.
Official blocks (Deriv)
BRINOVS blocks (51 extra blocks)
All blocks, A to Z by section
- 1. Trade parametersDerivTrade definition (the 1. Trade parameters block)
- MarketDerivTrade definition (the 1. Trade parameters block)
- Trade TypeDerivTrade definition (the 1. Trade parameters block)
- Contract TypeDerivTrade definition (the 1. Trade parameters block)
- Default Candle IntervalDerivTrade definition (the 1. Trade parameters block)
- Restart buy/sell on error (disable for better performance)DerivTrade definition (the 1. Trade parameters block)
- Restart last trade on error (bot ignores the unsuccessful trade)DerivTrade definition (the 1. Trade parameters block)
- Trade optionsDerivTrade definition (the 1. Trade parameters block)
- Multiplier trade optionsDerivTrade definition (the 1. Trade parameters block)
- Take Profit (Multiplier)DerivTrade definition (the 1. Trade parameters block)
- Stop loss (Multiplier)DerivTrade definition (the 1. Trade parameters block)
- Accumulator trade optionsDerivTrade definition (the 1. Trade parameters block)
- Take Profit (Accumulator)DerivTrade definition (the 1. Trade parameters block)
- Trade options (Payout version)DerivTrade definition (the 1. Trade parameters block)
- 2. Purchase conditionsDerivPurchase conditions (before purchase)
- PurchaseDerivPurchase conditions (before purchase)
- Ask Price (Purchase price)DerivPurchase conditions (before purchase)
- Payout (Potential payout)DerivPurchase conditions (before purchase)
- 3. Sell conditionsDerivSell conditions (during purchase)
- Sell at market priceDerivSell conditions (during purchase)
- Sell is available (Can contract be sold?)DerivSell conditions (during purchase)
- Sell profit/loss (Profit/loss from selling)DerivSell conditions (during purchase)
- 4. Restart trading conditionsDerivRestart trading conditions (after purchase)
- Trade againDerivRestart trading conditions (after purchase)
- Result is (Last trade result)DerivRestart trading conditions (after purchase)
- Contract DetailsDerivRestart trading conditions (after purchase)
- Run on every tickDerivTick and candle analysis
- Last TickDerivTick and candle analysis
- Last Tick StringDerivTick and candle analysis
- Last DigitDerivTick and candle analysis
- Current StatDerivTick and candle analysis
- Current stat listDerivTick and candle analysis
- Ticks listDerivTick and candle analysis
- Ticks String ListDerivTick and candle analysis
- Last digits listDerivTick and candle analysis
- Direction isDerivTick and candle analysis
- Is candle black?DerivTick and candle analysis
- In candles list readDerivTick and candle analysis
- Read ... value in candleDerivTick and candle analysis
- Make a List of ... values in candles list with interval:DerivTick and candle analysis
- Make a list of ... values from candles listDerivTick and candle analysis
- In candle list get # from endDerivTick and candle analysis
- Candles List with interval here 2:DerivTick and candle analysis
- set ... to Simple Moving AverageDerivIndicators
- set ... to Simple Moving Average ArrayDerivIndicators
- set ... to Bollinger BandsDerivIndicators
- set ... to Bollinger Bands ArrayDerivIndicators
- set ... to Exponential Moving AverageDerivIndicators
- set ... to Exponential Moving Average ArrayDerivIndicators
- set ... to Relative Strength IndexDerivIndicators
- set ... to Relative Strength Index ArrayDerivIndicators
- set ... to MACD ArrayDerivIndicators
- Input ListDerivIndicators
- PeriodDerivIndicators
- Standard Deviation Up MultiplierDerivIndicators
- Standard Deviation Down MultiplierDerivIndicators
- Fast EMA PeriodDerivIndicators
- Slow EMA PeriodDerivIndicators
- Signal EMA PeriodDerivIndicators
- NotifyDerivTools (the Utility menu)
- Notify TelegramDerivTools (the Utility menu)
- Seconds Since EpochDerivTools (the Utility menu)
- Delayed runDerivTools (the Utility menu)
- Tick Delayed runDerivTools (the Utility menu)
- Convert to timestampDerivTools (the Utility menu)
- Convert to date/timeDerivTools (the Utility menu)
- Loads from URLDerivTools (the Utility menu)
- IgnoreDerivTools (the Utility menu)
- ConsoleDerivTools (the Utility menu)
- Account balanceDerivTools (the Utility menu)
- Total profit/lossDerivTools (the Utility menu)
- Number of runsDerivTools (the Utility menu)
- Total Profit StringDerivTools (the Utility menu)
- Barrier offset (old)DerivTools (the Utility menu)
- Conversion Helper BlockDerivTools (the Utility menu)
- Conditional blockDerivStandard blocks: logic, math, text, lists, variables and functions
- CompareDerivStandard blocks: logic, math, text, lists, variables and functions
- Logic operationDerivStandard blocks: logic, math, text, lists, variables and functions
- Logic negationDerivStandard blocks: logic, math, text, lists, variables and functions
- True-FalseDerivStandard blocks: logic, math, text, lists, variables and functions
- NullDerivStandard blocks: logic, math, text, lists, variables and functions
- Test valueDerivStandard blocks: logic, math, text, lists, variables and functions
- NumberDerivStandard blocks: logic, math, text, lists, variables and functions
- Arithmetical operationsDerivStandard blocks: logic, math, text, lists, variables and functions
- Operations on a given numberDerivStandard blocks: logic, math, text, lists, variables and functions
- Trigonometric functionsDerivStandard blocks: logic, math, text, lists, variables and functions
- Mathematical constantsDerivStandard blocks: logic, math, text, lists, variables and functions
- Test a numberDerivStandard blocks: logic, math, text, lists, variables and functions
- Change variableDerivStandard blocks: logic, math, text, lists, variables and functions
- Aggregate operationsDerivStandard blocks: logic, math, text, lists, variables and functions
- Rounding operationDerivStandard blocks: logic, math, text, lists, variables and functions
- Remainder after divisionDerivStandard blocks: logic, math, text, lists, variables and functions
- Constrain within a rangeDerivStandard blocks: logic, math, text, lists, variables and functions
- Random integerDerivStandard blocks: logic, math, text, lists, variables and functions
- Random fraction numberDerivStandard blocks: logic, math, text, lists, variables and functions
- TextDerivStandard blocks: logic, math, text, lists, variables and functions
- Text joinDerivStandard blocks: logic, math, text, lists, variables and functions
- Text AppendDerivStandard blocks: logic, math, text, lists, variables and functions
- Text String LengthDerivStandard blocks: logic, math, text, lists, variables and functions
- Text Is emptyDerivStandard blocks: logic, math, text, lists, variables and functions
- Search for stringDerivStandard blocks: logic, math, text, lists, variables and functions
- Get characterDerivStandard blocks: logic, math, text, lists, variables and functions
- Get substringDerivStandard blocks: logic, math, text, lists, variables and functions
- Change text caseDerivStandard blocks: logic, math, text, lists, variables and functions
- Trim spacesDerivStandard blocks: logic, math, text, lists, variables and functions
- PrintDerivStandard blocks: logic, math, text, lists, variables and functions
- Request an inputDerivStandard blocks: logic, math, text, lists, variables and functions
- Text StatementDerivStandard blocks: logic, math, text, lists, variables and functions
- Create listDerivStandard blocks: logic, math, text, lists, variables and functions
- Repeat an itemDerivStandard blocks: logic, math, text, lists, variables and functions
- List LengthDerivStandard blocks: logic, math, text, lists, variables and functions
- Is list empty?DerivStandard blocks: logic, math, text, lists, variables and functions
- List item positionDerivStandard blocks: logic, math, text, lists, variables and functions
- Get list itemDerivStandard blocks: logic, math, text, lists, variables and functions
- Set list itemDerivStandard blocks: logic, math, text, lists, variables and functions
- Get sub-listDerivStandard blocks: logic, math, text, lists, variables and functions
- Create list from textDerivStandard blocks: logic, math, text, lists, variables and functions
- Sort listDerivStandard blocks: logic, math, text, lists, variables and functions
- List StatementDerivStandard blocks: logic, math, text, lists, variables and functions
- Repeat (1)DerivStandard blocks: logic, math, text, lists, variables and functions
- Repeat (2)DerivStandard blocks: logic, math, text, lists, variables and functions
- Repeat While/UntilDerivStandard blocks: logic, math, text, lists, variables and functions
- Iterate (1)DerivStandard blocks: logic, math, text, lists, variables and functions
- Iterate (2)DerivStandard blocks: logic, math, text, lists, variables and functions
- Break out/continueDerivStandard blocks: logic, math, text, lists, variables and functions
- Set variableDerivStandard blocks: logic, math, text, lists, variables and functions
- User-defined variableDerivStandard blocks: logic, math, text, lists, variables and functions
- FunctionDerivStandard blocks: logic, math, text, lists, variables and functions
- Function that returns a valueDerivStandard blocks: logic, math, text, lists, variables and functions
- Conditional returnDerivStandard blocks: logic, math, text, lists, variables and functions
- Custom functionDerivStandard blocks: logic, math, text, lists, variables and functions
- Custom function (returns a value)DerivStandard blocks: logic, math, text, lists, variables and functions
- Multi purchaseBRINOVSExecution and purchasing (1 to 9)
- Hedge purchaseBRINOVSExecution and purchasing (1 to 9)
- Hedge toggleBRINOVSExecution and purchasing (1 to 9)
- Batch resultBRINOVSExecution and purchasing (1 to 9)
- Dry run modeBRINOVSExecution and purchasing (1 to 9)
- Minimum payout gateBRINOVSExecution and purchasing (1 to 9)
- Quote freshness gateBRINOVSExecution and purchasing (1 to 9)
- Contract compatibility gateBRINOVSExecution and purchasing (1 to 9)
- Buy price ceilingBRINOVSExecution and purchasing (1 to 9)
- Stake planBRINOVSStake management (10 to 13)
- Stake percent capBRINOVSStake management (10 to 13)
- Volatility-scaled stake (experimental)BRINOVSStake management (10 to 13)
- Position size (experimental)BRINOVSStake management (10 to 13)
- Session limitsBRINOVSRisk management (14 to 19)
- Loss streak pauseBRINOVSRisk management (14 to 19)
- Drawdown breakerBRINOVSRisk management (14 to 19)
- Balance guardBRINOVSRisk management (14 to 19)
- Exposure capBRINOVSRisk management (14 to 19)
- Trading windowBRINOVSRisk management (14 to 19)
- Single entry lockBRINOVSEntry filters and restart (20 to 24)
- Signal confirmBRINOVSEntry filters and restart (20 to 24)
- CooldownBRINOVSEntry filters and restart (20 to 24)
- Tick streakBRINOVSEntry filters and restart (20 to 24)
- Tick streak lengthBRINOVSEntry filters and restart (20 to 24)
- Tick momentumBRINOVSEntry filters and restart (20 to 24)
- Last digits matchBRINOVSEntry filters and restart (20 to 24)
- Digit frequencyBRINOVSAnalysis (25 to 33)
- Digit extremesBRINOVSAnalysis (25 to 33)
- Digit transitionBRINOVSAnalysis (25 to 33)
- Volatility gateBRINOVSAnalysis (25 to 33)
- Volatility valueBRINOVSAnalysis (25 to 33)
- Multi-timeframe biasBRINOVSAnalysis (25 to 33)
- ATRBRINOVSAnalysis (25 to 33)
- Rate of changeBRINOVSAnalysis (25 to 33)
- StochasticBRINOVSAnalysis (25 to 33)
- ADXBRINOVSAnalysis (25 to 33)
- Support / resistance zoneBRINOVSAnalysis (25 to 33)
- Zone touchesBRINOVSAnalysis (25 to 33)
- Candle patternBRINOVSAnalysis (25 to 33)
- Candle pattern biasBRINOVSAnalysis (25 to 33)
- Confluence scoreBRINOVSAnalysis (25 to 33)
- Confluence countBRINOVSAnalysis (25 to 33)
- Early exitBRINOVSSell conditions and market selection (34 to 37)
- Exit all contractsBRINOVSSell conditions and market selection (34 to 37)
- Market switcherBRINOVSSell conditions and market selection (34 to 37)
- Market allowlistBRINOVSSell conditions and market selection (34 to 37)
- Barrier switcherBRINOVSSell conditions and market selection (34 to 37)
- Persistent variableBRINOVSControl, state and statistics (38 to 44)
- Persistent valueBRINOVSControl, state and statistics (38 to 44)
- Stop or pause the botBRINOVSControl, state and statistics (38 to 44)
- Wait until candle closeBRINOVSControl, state and statistics (38 to 44)
- Bot readyBRINOVSControl, state and statistics (38 to 44)
- Clear saved rulesBRINOVSControl, state and statistics (38 to 44)
- Session statsBRINOVSControl, state and statistics (38 to 44)
- Rolling statsBRINOVSControl, state and statistics (38 to 44)
- Trade historyBRINOVSControl, state and statistics (38 to 44)
- Trade journalBRINOVSAlerts, testing and licensing (45 to 51)
- AlertBRINOVSAlerts, testing and licensing (45 to 51)
- Bot narrationBRINOVSAlerts, testing and licensing (45 to 51)
- Replay test (simulated)BRINOVSAlerts, testing and licensing (45 to 51)
- BRINOVS coreBRINOVSAlerts, testing and licensing (45 to 51)
- Licence gateBRINOVSAlerts, testing and licensing (45 to 51)
- Remote switchBRINOVSAlerts, testing and licensing (45 to 51)