← Back to Dashboard

Contents

  1. Risk Controls
  2. Pump Protection
  3. DCA Depth Controls (RM-7/8)
  4. Grid Range Bounds (RM-9)
  5. Take Profit (RM-10)
  6. Smart Entry (RM-11)
  7. Trailing Grid (RM-12)
  8. Profit Compounding
  9. Grid Structure
  10. Coin Selection & Discovery
  11. Overnight Rules
  12. Cash Conservation
  13. Circuit Breakers
  14. Grid Geometry
  15. Dynamic Order Sizing
  16. Market Regime Detection
  17. Capital Allocation
  18. Order Placement
  19. Sell Pricing
  20. 15. Smart Signals
  21. 16. Stop Loss — Advanced
  22. Inventory Skew
  23. System & Reconciliation

Tessara — Complete Parameter Reference

Version: 3.0 — May 12, 2026

Purpose: Authoritative reference for all parameters that affect trading behavior.


About This Document

Every parameter that causes the bot to place, skip, resize, pause, or cancel an order is listed here. Parameters are grouped by functional category. Each entry includes:

- Internal name — the key used in settings.json and the API

- What it does — mechanical description of the effect, no interpretation

- Default — value used when the field is not explicitly set

- Range / Type — valid input bounds

Tessara executes the values you set. This document describes what each value controls.


Parameter Index by Category

1. Risk Controls

2. Grid Structure

3. Coin Selection & Discovery

4. Overnight Rules

5. Cash Conservation

6. Circuit Breakers

7. Grid Geometry

8. Dynamic Order Sizing

9. Market Regime Detection

10. Capital Allocation

11. Order Placement

12. Sell Pricing

13. Inventory Skew

14. System & Reconciliation


1. Risk Controls


Daily Loss Cap (%)

FieldValue
**Internal name**`dailyLossCapPct`
**What it does**Tracks total realized and unrealized portfolio loss since midnight UTC. When cumulative loss exceeds this percentage, all new buy orders pause for the duration set by `cbRecoveryMinutes`. Sell orders continue unaffected. Resets at the next calendar day boundary.
**Default**3%
**Range**0.5 – 20

Daily Loss Cap (Fixed Dollar Override)

FieldValue
**Internal name**`dailyLossCapAmt`
**What it does**Fixed dollar amount used as the circuit breaker threshold instead of the percentage formula. When set to any value above 0, it overrides `dailyLossCapPct`. Set to 0 to use the percentage formula.
**Default**0
**Range**0 – unlimited

Portfolio Heat Halt

FieldValue
**Internal name**`portfolioHeatHaltPct`
**What it does**Measures total unrealized loss across all open coin positions as a percentage of total portfolio value. When this threshold is reached, all new buy orders halt. Halting clears automatically when unrealized losses fall back below the threshold.
**Default**15%
**Range**5 – 50

Max Position Per Coin

FieldValue
**Internal name**`maxPositionPct`
**What it does**When a single coin's total cost basis exceeds this percentage of portfolio value, new buy orders on that coin are skipped. Existing orders and sell orders are unaffected. Buying resumes when the position drops back below the threshold through sell fills.
**Default**10%
**Range**1 – 100

Max Coin Drawdown

FieldValue
**Internal name**`maxCoinDrawdownPct`
**What it does**Compares the current price of a coin to the bot's computed average cost basis (TWAP). When the price is more than this percentage below cost basis, new buy orders on that coin are paused. Buying resumes when price recovers above the threshold.
**Default**20%
**Range**1 – 100

Max Capital Per Coin

FieldValue
**Internal name**`maxCapPerCoinUSD`
**What it does**Hard dollar cap on the total amount deployed into any single coin. The bot will not issue new buy orders that would push total cost basis on that coin above this value, regardless of other settings.
**Default**$800
**Range**$50 – unlimited

Stop Loss

FieldValue
**Internal names**`stopLossEnabled` / `stopLossPct`
**What it does**When enabled: if a coin's current price falls below (average cost basis × (1 − stopLossPct/100)), the bot cancels all open orders on that coin and places a market sell for the full position. The grid is then permanently halted. Manual restart is required to re-enable.
**Default**Disabled
**Range**1 – 99 (%)

Per-Coin Realized Loss Halt

FieldValue
**Internal name**`perCoinRealizedLossPct`
**What it does**When the sum of realized losses on a coin exceeds this percentage of its allocated capital (`maxCapitalUSD`), the grid for that coin is permanently halted. Applies to locked-in losses from completed sell cycles only, not unrealized paper losses. Manual restart required.
**Default**15%
**Range**5 – 100

Per-Coin Daily Loss Stop

FieldValue
**Internal name**`perCoinDailyLossPct`
**What it does**Tracks realized losses on each individual coin since midnight UTC. When losses on a single coin exceed this percentage of that coin's allocated capital, buy orders on that coin pause for 24 hours. Set to 0 to disable this check.
**Default**0 (disabled)
**Range**0 – 50

Cash Reserve

FieldValue
**Internal name**`cashReservePct`
**What it does**The bot will not issue new buy orders when doing so would cause total deployed capital (all coin positions combined) to exceed (100 − cashReservePct)% of portfolio value. Acts as a hard capital deployment ceiling. Does not force-sell existing positions; it only blocks new buys once the ceiling is reached.
**Default**0%
**Range**0 – 50

1b. Pump Protection

Pump Protection detects rapid per-coin price spikes and cancels open buy orders if the spike reverses within a configurable window. This prevents the bot from filling a ladder of buy orders on the way down after a pump-and-dump. It also monitors BTC-wide momentum and cancels buys across all coins when a market-wide pump starts to reverse.


Enable Pump Protection

Internal namepumpProtectionEnabled
Defaulttrue (ON)
What it doesMaster toggle for all pump protection logic. When OFF, none of the rules below apply and the bot behaves as if this feature does not exist.
Where to setSetup → Pump Protection

Pump Detect Threshold (%)

Internal namepumpDetectPct
Default4.0
Range1–30
What it doesMinimum price rise (as a % of the 15-minute-ago snapshot) to trigger a pump alert on a coin. When weekend mode is active, the effective threshold is multiplied by 0.75. A higher value means fewer, more extreme pumps trigger the protection; a lower value catches smaller moves but risks more false positives on volatile coins.
Where to setSetup → Pump Protection

Cancel Trigger — Retrace (%)

Internal namepumpRetracePct
Default2.0
Range0.5–20
What it doesHow far price must fall from the pump’s high-water mark (within the hold window) to confirm a dump and cancel all open buy orders. Recommended: approximately 2–3× your grid spacing. Too low = false positives on normal consolidation; too high = orders fill before the trigger fires.
Where to setSetup → Pump Protection

Hold Window (minutes)

Internal namepumpHoldWindowMin
Default30
Range5–240
What it doesAfter a pump is detected, the bot watches for this many minutes. If price retraces by pumpRetracePct within this window, buys are cancelled (dump confirmed). If price holds without retracing for the full window, the bot treats it as a bull run and does NOT cancel. Weekend mode uses 0.5× this value.
Where to setSetup → Pump Protection

Cooldown (minutes)

Internal namepumpCooldownMin
Default30
Range5–240
What it doesAfter buy orders are cancelled due to a pump reversal, the bot pauses new buy placement for this many minutes. Sell orders and fill processing remain active. On cooldown expiry, the grid recenters at the then-current price and places a fresh ladder.
Where to setSetup → Pump Protection

Weekend Mode

Internal namepumpWeekendMode
Defaulttrue (ON)
What it doesDuring the thin-liquidity window (Friday 20:00 UTC through Sunday 23:59 UTC), applies tighter multipliers: pump detect threshold ×0.75, hold window ×0.5. This reflects the higher pump-and-dump frequency during low-volume weekend hours. The cooldown duration is not changed by weekend mode.
Where to setSetup → Pump Protection

1c. DCA Depth Controls

Prevents the bot from averaging into a freefall. When a coin drops beyond the depth threshold, buys are halted. If price stabilizes (no new lows in 4h, range <6%), limited DCA resumes at 50% size every 4 hours.

DCA Depth Halt Enabled

SettingdcaDepthHaltEnabled
Defaulttrue (ON)
DescriptionEnable or disable the DCA depth halt system entirely.

DCA Depth Halt Percentage

SettingdcaDepthHaltPct
Default35
Range15–80
DescriptionHalt new buys when a coin's price drops this % below its average cost (twapCost). At 35%, a coin bought at $100 stops receiving new buys when price falls to $65.

Stabilization Re-entry

SettingdcaStabilizationEnabled
Defaulttrue (ON)
DescriptionWhen halted, if price consolidates without making new lows for 4 hours and the price range stays under 6%, limited DCA resumes at 50% of normal order size once per 4-hour window.

Per-Coin Stop Loss

SettingperCoinStopLossEnabled
Defaultfalse (OFF)
DescriptionOptional. When enabled, if a coin stays above the stop loss threshold below cost for 4+ continuous hours while DCA is halted, the bot places a market sell and blacklists the coin for 30 days.
SettingperCoinStopLossPct
Default45
Range20–80
DescriptionThreshold for per-coin stop loss. At 45%, the coin must be 45%+ below cost for 4+ hours to trigger.

1d. Grid Range Bounds

Set explicit price boundaries per coin. The bot halts new buys when price leaves the defined range. Any existing buy orders outside the range are cancelled when bounds are set.

Grid Range Enabled

SettinggridRangeEnabled (per-coin)
Defaulttrue when gridHigh/gridLow are set
DescriptionEnables range enforcement for this coin.

Grid Low / Grid High

SettinggridLow, gridHigh (per-coin)
DefaultAuto-calculated: LOW = 30-day low × 0.92, HIGH = 30-day high × 1.10
DescriptionPrice floor and ceiling. Below floor: buys halted, position held. Above ceiling: buys halted, existing sells run out. Use “Apply Suggested Ranges” in Settings to auto-calculate from price history.

1e. Take Profit

Automatically close or pause a coin's grid when total realized profit reaches a target percentage of deployed capital.

Take Profit Enabled

SettingtakeProfitEnabled
Defaulttrue (ON)

Take Profit Percentage

SettingtakeProfitPct
Default25
Range5–200
DescriptionTarget profit as % of deployed capital. At 25%, a coin with $400 deployed closes its grid after earning $100 in realized profit.

Take Profit Mode

SettingtakeProfitMode
Defaultclose
Valuesclose (sell all + remove grid), pause (halt new buys, let sells run)

1f. Smart Entry

Delays starting a new grid if the coin is currently overbought. Prevents launching grids at local tops.

Smart Entry Enabled

SettingsmartEntryEnabled
Defaulttrue (ON)

RSI Maximum

SettingsmartEntryRsiMax
Default65
Range30–90
DescriptionDon't start a new grid if RSI exceeds this value. Grid launch is delayed up to 48 hours until RSI normalizes.

Above Average Percentage

SettingsmartEntryAboveAvgPct
Default12
Range5–50
DescriptionDon't start if price is more than this % above its 7-day average (indicates local top).

1g. Trailing Grid

When price trends strongly upward, shifts the entire grid up to capture more of the uptrend.

Trailing Grid Enabled

SettingtrailingGridEnabled
Defaulttrue (ON)

Trailing Trigger

SettingtrailingTriggerPct
Default12
Range3–50
DescriptionTrigger trailing when price rises this % above the last grid center. Only triggers when price is above cost basis.

Trailing Shift

SettingtrailingShiftPct
Default50
Range10–100
DescriptionWhen trailing triggers, shift the grid center up by this % of the price move. At 50%, if price rose 12%, the center moves up 6%.

1h. Profit Compounding

Controls how much of each cycle's profit is reinvested into larger order sizes.

Compounding Percentage

SettingcompoundingPct
Default100
Range0–100
DescriptionPercentage of profits reinvested. 100% = full compounding (all profits grow order sizes). 0% = no compounding.

Compounding Cap

SettingcompoundingCapUSD
Default0 (no cap)
DescriptionStop compounding once a coin's allocation reaches this USD amount. 0 = compound indefinitely.

2. Grid Structure


Grid Spacing

FieldValue
**Internal name**`gridSpacingPct`
**What it does**Percentage distance between each grid level, measured from the grid center. Buy levels are placed at center × (1 − spacing × n) and sell levels at center × (1 + spacing × n) for each integer n. The sell price for any filled buy is set at buy_price × (1 + spacing/100), subject to the fee floor.
**Default**1.0%
**Range**0.3 – 5
**Note**Per-coin, auto-managed. Set automatically by the bot's ATR-based spacing tuner for each coin. Not a global setting — cannot be set in Setup. Displayed in the Coin Performance tab.

Grid Levels

FieldValue
**Internal name**`gridLevels`
**What it does**Number of buy order levels placed below grid center, and the corresponding number of sell levels above. Total concurrent orders = 2 × gridLevels (minus any already filled).
**Default**6
**Range**2 – 20
**Note**Per-coin, auto-managed. Calculated per coin from allocated capital and target order size. Not a global setting — cannot be set in Setup.

Order Size Per Level

FieldValue
**Internal name**`sizePerLevelUSD`
**What it does**Dollar value of each individual buy order before dynamic sizing adjustments. Total capital required = sizePerLevelUSD × gridLevels (baseline; actual deployment varies with dynamic sizing).
**Default**Derived from maxCapitalUSD ÷ gridLevels
**Range**$10 – $10,000
**Note**Per-coin, auto-managed. Derived automatically from each coin's capital allocation and grid level count. Not a global setting — cannot be set in Setup. Adjusted dynamically by risk profile multiplier and dynamic sizing settings.

Minimum Grid Allocation

FieldValue
**Internal name**`minGridAllocationUSD`
**What it does**Minimum free USD cash balance required before the bot will initiate a new grid on any coin. If available cash is below this value, new grids are deferred until cash recovers.
**Default**$400
**Range**$100 – $10,000

Maximum Active Grids

FieldValue
**Internal name**`maxActiveGrids`
**What it does**Hard cap on the number of simultaneously active coin grids. When this cap is reached, no new coins are added regardless of available capital or discovery approvals. Set to 0 to use the auto formula (portfolio ÷ minGridAllocationUSD).
**Default**0 (auto)
**Range**0 – 120

Target Grid Count

FieldValue
**Internal name**`targetGridCount`
**What it does**When auto-scaling is enabled, the bot targets this number of active grids and allocates capital accordingly. Takes precedence over maxActiveGrids when autoScaleSlot is true. Set to 0 to disable.
**Default**Calculated from capital ÷ minGridAllocationUSD at onboarding
**Range**0 – 120

3. Coin Selection & Discovery


Auto-Discover Coins

FieldValue
**Internal name**`autoDiscover`
**What it does**When ON, the bot runs periodic discovery scans and adds qualifying coins to the pending-discoveries queue. Each candidate requires explicit user approval before a grid is created. When OFF, only manually specified coins are traded.
**Default**ON
**Type**Boolean

ML Scoring

FieldValue
**Internal name**`mlEnabled`
**What it does**When ON, ML model scores are computed for each discovery candidate and used to rank the pending-discoveries queue. When OFF, candidates are ranked by volume and price momentum only.
**Default**ON
**Type**Boolean

ML Minimum Confidence

FieldValue
**Internal name**`mlMinConfidence`
**What it does**ML scores range from 0–20. Coins scoring below this threshold are not added to the pending-discoveries queue regardless of other criteria.
**Default**12
**Range**0 – 20

Discovery Interval

FieldValue
**Internal name**`discoveryIntervalHours`
**What it does**Interval in hours between automatic discovery scans. The scan evaluates all active Coinbase products against volume, listing age, and ML criteria.
**Default**24 hours
**Range**6 – 168

Coin Probation Period

FieldValue
**Internal name**`probationDays`
**What it does**Newly approved coins operate at skeleton capital (`skeletonMaxCap`) for this many days. After the probation period, they are evaluated for promotion to full capital allocation.
**Default**7 days
**Range**1 – 30

Probation Win Rate Minimum

FieldValue
**Internal name**`probationWinRateMin`
**What it does**Percentage of completed cycles that must be profitable for a coin to graduate from probation to full capital. Coins that fail this threshold at the end of probation are not promoted.
**Default**85%
**Range**50 – 95

Auto-Cull

FieldValue
**Internal name**`autoCullEnabled`
**What it does**When ON, the bot automatically removes coins whose cumulative realized losses exceed `autoCullLossThreshold` after at least `autoCullMinCycles` trades. When OFF, coins are only removed manually.
**Default**ON
**Type**Boolean

Auto-Cull Minimum Trades

FieldValue
**Internal name**`autoCullMinCycles`
**What it does**A coin is not eligible for auto-cull until it has completed at least this many buy→sell cycles.
**Default**50
**Range**5 – 200

Auto-Cull Loss Threshold

FieldValue
**Internal name**`autoCullLossThreshold`
**What it does**When auto-cull is enabled: if a coin's total realized profit falls below this dollar amount and it has completed at least autoCullMinCycles trades, it is removed. Example: -1 means any coin down more than $1 lifetime is eligible.
**Default**-1 (USD loss threshold)
**Range**-10,000 – 0

Blacklisted Coins

FieldValue
**Internal name**`blacklistedCoins`
**What it does**Array of coin symbols (e.g. `["XYZ", "ABC"]`). Coins on this list are excluded from auto-discovery, never proposed, and cannot be added as grids via signal.
**Default**`[]` (empty)
**Type**Array of strings

Core Coins

FieldValue
**Internal name**`coreCoins`
**What it does**Array of coin symbols designated as permanent portfolio members. Core coins bypass probation, are excluded from auto-cull evaluation, and receive priority in capital allocation.
**Default**`[]` (empty)
**Type**Array of strings

4. Overnight Rules


Overnight Scale-Down (Enable)

FieldValue
**Internal name**`overnightScaleEnabled`
**What it does**When ON, order sizes are multiplied by `overnightScaleMult` during the window defined by `overnightScaleStart` / `overnightScaleEnd`. When OFF, order sizes are constant at all hours.
**Default**OFF
**Type**Boolean

Overnight Window Start

FieldValue
**Internal name**`overnightScaleStart`
**What it does**Local wall-clock time (HH:MM, 24-hour) at which the overnight order-size multiplier activates.
**Default**`22:00`
**Type**String (HH:MM)

Overnight Window End

FieldValue
**Internal name**`overnightScaleEnd`
**What it does**Local wall-clock time (HH:MM, 24-hour) at which the overnight multiplier deactivates and normal order sizes resume.
**Default**`08:00`
**Type**String (HH:MM)

Overnight Size Multiplier

FieldValue
**Internal name**`overnightScaleMult`
**What it does**Factor applied to all order sizes during the overnight window. 1.0 = no change. 0.5 = half the normal order size. Applied multiplicatively on top of all other sizing adjustments.
**Default**0.5
**Range**0.1 – 1.0

5. Cash Conservation


Cash-Aware Allocation

FieldValue
**Internal name**`cashAwareAllocationEnabled`
**What it does**When ON and free cash drops below `pe2PauseTrigger`, the bot pauses buy orders on the `pe2PauseCount` lowest-efficiency coin grids. Buy orders on those coins resume when free cash recovers to `pe2ResumeThreshold`. When OFF, all grids continue regardless of available cash.
**Default**ON
**Type**Boolean

Cash Conserve Pause Trigger

FieldValue
**Internal name**`pe2PauseTrigger`
**What it does**Free USD cash threshold below which cash-aware allocation activates and pauses the lowest-performing coins.
**Default**$300
**Range**$0 – $5,000

Cash Conserve Resume Threshold

FieldValue
**Internal name**`pe2ResumeThreshold`
**What it does**Free USD cash level at which paused coins resume buy orders. Must be greater than `pe2PauseTrigger`. The difference between this value and `pe2PauseTrigger` determines the hysteresis band.
**Default**$550
**Range**Must exceed `pe2PauseTrigger`

Coins to Pause

FieldValue
**Internal name**`pe2PauseCount`
**What it does**Number of coin grids to pause when cash conservation activates. The bot selects the lowest-ranked coins by efficiency score.
**Default**5
**Range**1 – 20

6. Circuit Breakers


Circuit Breaker Recovery Time

FieldValue
**Internal name**`cbRecoveryMinutes`
**What it does**Duration in minutes that new buy orders remain paused after the daily loss circuit breaker fires. After this period, buying resumes automatically.
**Default**60 minutes
**Range**15 – 1,440

Correlation Kill — Coin Count

FieldValue
**Internal name**`corrKillCoinCount`
**What it does**Number of coins that must simultaneously drop by at least `corrKillDropPct` in a rolling window to trigger the correlation kill switch. When triggered, all buy orders across all coins halt for `corrKillRecoveryHours`.
**Default**3
**Range**2 – 10

Correlation Kill — Drop %

FieldValue
**Internal name**`corrKillDropPct`
**What it does**Per-coin price drop percentage threshold used in the correlation kill evaluation. Each coin's 30-minute price change is compared against this value.
**Default**5%
**Range**1 – 25

Correlation Kill — Recovery Hours

FieldValue
**Internal name**`corrKillRecoveryHours`
**What it does**Duration in hours that the correlation kill-switch halt remains active after triggering. Buy orders on all coins are blocked for this period.
**Default**2 hours
**Range**0.5 – 24

Market Regime Stop — Coin Fraction

FieldValue
**Internal name**`regimeStopThresholdPct`
**What it does**Percentage of active coin grids that must trigger `regimeStopDropPct` within a 30-minute window to activate the regime stop. Calculated as: ceil(activeCoins × regimeStopThresholdPct/100). When reached, all buy orders pause for 60 minutes.
**Default**25%
**Range**5 – 75

Market Regime Stop — Per-Coin Drop %

FieldValue
**Internal name**`regimeStopDropPct`
**What it does**Price drop percentage (measured over 30 minutes) that qualifies a coin as having "dropped" for regime stop evaluation.
**Default**2%
**Range**0.5 – 10

Black Swan Halt

FieldValue
**Internal name**`blackSwanHaltPct`
**What it does**Percentage drop from a coin's current grid center price that triggers an emergency halt. When triggered: all open orders on the coin are cancelled, the full position is sold at market price, and the grid is permanently halted pending manual restart. Measured as: (centerPrice − currentPrice) / centerPrice × 100.
**Default**15%
**Range**5 – 50

Triple Circuit Breaker — Halt Duration

FieldValue
**Internal name**`tripleCBHaltHours`
**What it does**Duration in hours that all buy orders are halted when the daily loss CB, portfolio heat halt, and regime stop all fire simultaneously.
**Default**2 hours
**Range**0.5 – 24

Triple Circuit Breaker — Size Reduction

FieldValue
**Internal name**`tripleCBSizeReduction`
**What it does**Multiplier applied to all order sizes for the remainder of the trading session following a triple circuit breaker event. 0.5 = 50% of normal size. Resets at the next session start.
**Default**0.5
**Range**0.1 – 1.0

7. Grid Geometry


Level Spacing Exponent

FieldValue
**Internal name**`levelSpacingExponent`
**What it does**Exponent applied to level index when computing grid level distances. At 1.0: levels are evenly spaced (level n is at center ± spacing × n). At values above 1.0: spacing between levels increases geometrically outward, clustering more levels near center (level n at center ± spacing × n^exponent).
**Default**1.18
**Range**1.0 – 2.0

Grid Buy Boundary

FieldValue
**Internal name**`gridBuyBound`
**What it does**Lower bound for buy order placement, expressed as a fraction of center price. No buy order is placed below (center × gridBuyBound). Example: 0.70 means no buys more than 30% below center.
**Default**0.70
**Range**0.50 – 0.95

Grid Sell Boundary

FieldValue
**Internal name**`gridSellBound`
**What it does**Upper bound for sell order placement, expressed as a fraction of center price. No new sell level is placed above (center × gridSellBound). Existing sell orders above this boundary are not cancelled.
**Default**1.30
**Range**1.05 – 2.00

Recenter Threshold

FieldValue
**Internal name**`recenterThresholdPct`
**What it does**Minimum price deviation from grid center (in %) required to trigger a grid recenter. When current price moves more than this percentage from center in either direction, the grid center is updated and all orders are rebuilt around the new center.
**Default**3%
**Range**0.5 – 20

Profit Lock Threshold

FieldValue
**Internal name**`profitLockPct`
**What it does**When unrealized profit on a coin's open position exceeds this percentage of deployed capital, the grid is recentered upward to the current price. This moves sell levels higher, locking in a portion of the unrealized gain.
**Default**8%
**Range**2 – 50

Sell Floor Buffer

FieldValue
**Internal name**`sellFloorBuffer`
**What it does**Additional percentage margin added above the fee break-even price when computing the minimum sell floor. The floor = buyPrice × (1 + makerFee + takerFee + sellFloorBuffer/100). Prevents rounding in fee calculations from producing net-negative cycles.
**Default**0.05%
**Range**0 – 0.5

Minimum Cycle Profit

FieldValue
**Internal name**`minCycleProfitUSD`
**What it does**Minimum realized profit (in USD) for a completed buy→sell pair to be recorded as a cycle in performance statistics. Cycles below this threshold complete normally but are excluded from win rate and profit calculations.
**Default**$0.03
**Range**$0 – $1.00

8. Dynamic Order Sizing


Underwater Size Multiplier (Maximum)

FieldValue
**Internal name**`underwaterMultMax`
**What it does**Maximum multiplier applied to base order size for buy orders placed below grid center. Size multiplier = min(underwaterMultMax, 1 + distanceFromCenter × underwaterScaleFactor).
**Default**1.8×
**Range**1.0 – 3.0

Underwater Scale Factor

FieldValue
**Internal name**`underwaterScaleFactor`
**What it does**Coefficient controlling how steeply order size increases as price falls below center. At factor 4: a buy order at 10% below center gets a 1.4× size multiplier (capped at underwaterMultMax).
**Default**4
**Range**0 – 10

Win Streak Size Multiplier

FieldValue
**Internal name**`streakWinMult`
**What it does**Multiplier applied to effective order size after 5 or more consecutive profitable cycles on a coin. Applied until the streak breaks.
**Default**1.10
**Range**1.0 – 1.5

Loss Streak Size Multiplier

FieldValue
**Internal name**`streakLossMult`
**What it does**Multiplier applied to effective order size after 3 or more consecutive unprofitable cycles on a coin. Applied until the streak breaks.
**Default**0.80
**Range**0.5 – 1.0

Compounding Cap (Normal)

FieldValue
**Internal name**`compoundCapNormal`
**What it does**Maximum order size from profit compounding, expressed as a multiple of base sizePerLevelUSD. Applies when the coin's Sharpe ratio is below 2.0. Compounded size = base + floor(totalProfit / compoundStepUSD) × stepIncrement, capped at base × compoundCapNormal.
**Default**
**Range**1 – 10

Compounding Cap (High Sharpe)

FieldValue
**Internal name**`compoundCapHighSharpe`
**What it does**Maximum order size from profit compounding when the coin's Sharpe ratio exceeds 2.0. Replaces `compoundCapNormal` for that coin.
**Default**
**Range**1 – 20

Compounding Step Size

FieldValue
**Internal name**`compoundStepUSD`
**What it does**Incremental profit required to advance one compounding step. Order size increases by one step for every multiple of this value in cumulative realized profit on the coin.
**Default**$10
**Range**$1 – $100

Probation/New Coin Size Boost

FieldValue
**Internal name**`probationBoostMult`
**What it does**Size multiplier applied to new coin grids during their first 5 days of operation, conditional on win rate remaining at or above `probationWinRateMin`. Multiplier is removed if the win rate condition is not met.
**Default**1.6×
**Range**1.0 – 3.0

Skeleton Max Capital

FieldValue
**Internal name**`skeletonMaxCap`
**What it does**Maximum capital allocated to a coin grid in skeleton (probation or health-watch) mode. Coins in skeleton mode operate at this capital ceiling regardless of the standard allocation formula.
**Default**$150
**Range**$50 – $5,000

9. Market Regime Detection


Extreme Risk Threshold

FieldValue
**Internal name**`regimeExtremeRiskThreshold`
**What it does**BTC 1-hour price change (%) below which the bot enters EXTREME_RISK regime. In this regime, buy order sizing is at minimum and new buys are heavily restricted.
**Default**−4%
**Range**−20 to −1

Trending Down Threshold

FieldValue
**Internal name**`regimeTrendingDownThreshold`
**What it does**BTC 1-hour price change (%) below which the bot enters TRENDING_DOWN regime. More conservative than RANGING but less than EXTREME_RISK.
**Default**−2%
**Range**−10 to −0.5

Trending Up Threshold

FieldValue
**Internal name**`regimeTrendingUpThreshold`
**What it does**BTC 1-hour price change (%) above which the bot enters TRENDING_UP regime.
**Default**+2%
**Range**0.5 – 10

Regime Check Interval

FieldValue
**Internal name**`regimeCheckIntervalMin`
**What it does**Interval in minutes between regime evaluations. BTC 1-hour candle data is re-fetched at each evaluation.
**Default**5 minutes
**Range**1 – 60

10. Capital Allocation


Intraday Routing Interval

FieldValue
**Internal name**`intradayRouteIntervalHours`
**What it does**Interval in hours between intraday capital routing evaluations. At each evaluation, idle capital from low-activity coins may be redistributed to higher-activity coins.
**Default**1 hour
**Range**0.25 – 24

Capital Shift Amount

FieldValue
**Internal name**`intradayShiftPct`
**What it does**Maximum percentage of an idle coin's budget that can be shifted to a higher-activity coin per routing cycle.
**Default**25%
**Range**5 – 100

Idle Coin Threshold

FieldValue
**Internal name**`intradayIdlePct`
**What it does**A coin's grid is classified as idle when this percentage or more of its allocated budget is undeployed (not in open buy orders or crypto holdings). Idle grids are eligible to have capital redistributed from them.
**Default**40%
**Range**10 – 90

Efficiency Window

FieldValue
**Internal name**`efficiencyWindowDays`
**What it does**Number of days of historical cycle data used when computing per-coin efficiency scores for capital allocation ranking.
**Default**7 days
**Range**1 – 30

11. Order Placement


Slippage Model Divisor

FieldValue
**Internal name**`slippageDivisor`
**What it does**For orders above $50, the bot applies a price impact adjustment of (sizeUSD / slippageDivisor) as a fractional price offset to account for market impact. Higher values produce smaller adjustments.
**Default**200,000
**Range**10,000 – 1,000,000

Slippage Feedback Weight

FieldValue
**Internal name**`slippageWeight`
**What it does**Fraction of the bot's own measured historical slippage incorporated into future order price adjustments. 0 = historical slippage data not used. 1 = fully weight own slippage history.
**Default**0.5
**Range**0 – 1.0

Buy Retry Price Improvement

FieldValue
**Internal name**`retryPriceImprovementBuy`
**What it does**When a buy order is rejected by Coinbase, the retry is submitted at (original price × (1 + retryPriceImprovementBuy/100)) to move the price toward the current market.
**Default**0.02%
**Range**0 – 0.2

Sell Retry Price Improvement

FieldValue
**Internal name**`retryPriceImprovementSell`
**What it does**When a sell order is rejected by Coinbase, the retry is submitted at (original price × (1 − retryPriceImprovementSell/100)) to move the price toward the current bid.
**Default**0.02%
**Range**0 – 0.2

Cash Guard Buffer

FieldValue
**Internal name**`cashGuardBuffer`
**What it does**Minimum USD balance that must remain free at all times. Buy orders are skipped when available cash minus this buffer is insufficient to cover the order. Prevents API-level insufficient-funds rejections caused by settlement timing.
**Default**$10
**Range**$1 – $500

12. Sell Pricing


Depth Threshold — Thin (Low)

FieldValue
**Internal name**`depthThresholdLow`
**What it does**When total bid depth is below this USD value, sell price is adjusted down by 0.2% to increase probability of fill in thin markets.
**Default**$5,000
**Range**$100 – $100,000

Depth Threshold — Thin (Medium)

FieldValue
**Internal name**`depthThresholdMed`
**What it does**When total bid depth is between this value and `depthThresholdLow`, sell price is adjusted down by 0.1%.
**Default**$15,000
**Range**$1,000 – $500,000

Depth Threshold — Deep (Medium)

FieldValue
**Internal name**`depthThresholdHigh`
**What it does**When total bid depth exceeds this value, sell price is adjusted up by 0.1% to capture more value in liquid markets.
**Default**$50,000
**Range**$5,000 – $1,000,000

Depth Threshold — Deep (High)

FieldValue
**Internal name**`depthThresholdVHigh`
**What it does**When total bid depth exceeds this value, sell price is adjusted up by 0.2%.
**Default**$100,000
**Range**$10,000 – $5,000,000

Depth Adjustment Cap

FieldValue
**Internal name**`depthAdjCap`
**What it does**Maximum absolute sell price adjustment from all order book depth signals combined. Adjustments from individual depth signals are summed and capped at ±depthAdjCap%.
**Default**0.3%
**Range**0 – 1

Order Flow Imbalance Threshold

FieldValue
**Internal name**`ofiThreshold`
**What it does**Order flow imbalance (OFI) value above which sell price is nudged up (+0.1%), and below the negative of which it is nudged down (−0.1%). OFI measures the ratio of buy pressure to sell pressure in recent order book updates.
**Default**0.05
**Range**0.01 – 0.5

Thin-Market Sell Boost Fraction

FieldValue
**Internal name**`thinMarketBoostFraction`
**What it does**In thin markets where a gap exists between the sell price and the best ask, the bot places the sell at: sellPrice + (bestAsk − sellPrice) × thinMarketBoostFraction. Applied only when ask volume is below 100 units and best ask is more than 0.3% above buy price.
**Default**0.3
**Range**0 – 1.0

13. Inventory Skew


Skew Tier 1 Threshold

FieldValue
**Internal name**`skewTier1Pct`
**What it does**When current price is more than this percentage below average cost basis, 1 additional sell level is added to the grid above the standard configuration.
**Default**2%
**Range**1 – 20

Skew Tier 2 Threshold

FieldValue
**Internal name**`skewTier2Pct`
**What it does**When current price is more than this percentage below average cost basis, 2 additional sell levels are added. Cumulative with tier 1 if both thresholds are met.
**Default**5%
**Range**2 – 30

Skew Tier 3 Threshold

FieldValue
**Internal name**`skewTier3Pct`
**What it does**When current price is more than this percentage below average cost basis, 3 additional sell levels are added.
**Default**10%
**Range**5 – 50

Downtrend Skew Boost

FieldValue
**Internal name**`skewDowntrendBoost`
**What it does**Additional sell levels added when a coin is simultaneously underwater and in a detected downtrend. Applied on top of tier-based skew additions.
**Default**2
**Range**0 – 5

Maximum Skew Levels

FieldValue
**Internal name**`skewMaxLevels`
**What it does**Hard cap on total additional sell levels from all skew sources combined (tiers + downtrend boost).
**Default**4
**Range**0 – 10

14. System & Reconciliation


Reconcile Interval

FieldValue
**Internal name**`reconcileIntervalSec`
**What it does**Interval in seconds between order reconciliation checks. At each check, the bot's internal order state is compared against live Coinbase open orders. Discrepancies trigger state corrections.
**Default**60 seconds
**Range**15 – 300

Startup Grace Period

FieldValue
**Internal name**`startupGraceMinutes`
**What it does**Minutes after bot restart during which fill detection is suppressed. Allows grid order state to reload from disk before the reconciler begins processing. Orders placed in this window are not treated as missing fills.
**Default**3 minutes
**Range**1 – 10

Fill Lag Tolerance

FieldValue
**Internal name**`fillLagToleranceMin`
**What it does**Orders placed within this many minutes are not flagged as missing during reconciliation, accounting for Coinbase's settlement and propagation latency.
**Default**5 minutes
**Range**1 – 30

TWAP Phantom Threshold

FieldValue
**Internal name**`twapPhantomThreshold`
**What it does**Maximum allowable price spread (as a fraction) between a sell order's linked buy price and the current price. When the spread exceeds this value, the buy→sell link is treated as unreliable and fallback cost basis methods are used.
**Default**0.20 (20%)
**Range**0.05 – 0.50

Dead Grid Window

FieldValue
**Internal name**`deadGridHours`
**What it does**Number of hours without a completed fill after which a grid is classified as dead. Dead grids are eligible for restructuring or recenter.
**Default**12 hours
**Range**1 – 168

Health Score — Cull Threshold

FieldValue
**Internal name**`healthScoreCullThreshold`
**What it does**Coins with a health score (0–100 scale, computed from win rate, cycle recency, and profit trend) below this value are candidates for capital reduction or removal.
**Default**58
**Range**0 – 100

Health Score — Promotion Threshold

FieldValue
**Internal name**`healthScorePromoteThreshold`
**What it does**Minimum health score required for a coin in skeleton/probation mode to be promoted to full capital allocation.
**Default**70
**Range**0 – 100

Weekly Rotation Day

FieldValue
**Internal name**`weeklyRotationDayUtc`
**What it does**Day of the week (0 = Sunday, 6 = Saturday, UTC) on which the bot evaluates portfolio-level performance and considers removing underperforming coins.
**Default**0 (Sunday)
**Range**0 – 6

Weekly Rotation Hour

FieldValue
**Internal name**`weeklyRotationHourUtc`
**What it does**UTC hour (0–23) at which the weekly rotation evaluation runs.
**Default**3
**Range**0 – 23

DCA Depth Controls

DCA Depth Halt — Enabled

FieldValue
**Internal name**
**What it does**When enabled, halts new buys on any coin that drops more than % below its TWAP cost basis. Prevents the bot from chasing a coin in freefall. If is also on, limited DCA may resume when price consolidates.
**Default**true
**Range**true / false

DCA Depth Halt — Threshold (%)

FieldValue
**Internal name**
**What it does**The percentage drop below TWAP cost that triggers DCA halting. At 35% (default), if a coin's current price is 35% or more below what the bot paid on average, new buy orders are paused until price recovers or stabilizes.
**Default**35
**Range**15 – 80

DCA Stabilization Re-entry — Enabled

FieldValue
**Internal name**
**What it does**When enabled alongside , allows limited DCA to resume if the coin's price consolidates (no new lows over ~4 hours, price range < 6%, not in TRENDING_DOWN or EXTREME_RISK regime). In this stabilized mode, the bot places at most 1 buy every 4 hours at 50% of the normal order size.
**Default**true
**Range**true / false

Per-coin Stop Loss — Enabled

FieldValue
**Internal name**
**What it does**Opt-in feature. When a coin has been in DCA depth halt AND its price stays more than % below cost basis for more than 4 consecutive hours, the bot automatically places a market sell for all held coins, halts the grid, and blacklists the coin for 30 days. Off by default — enable only if you want automatic exits on deeply underwater positions.
**Default**false
**Range**true / false

Per-coin Stop Loss — Threshold (%)

FieldValue
**Internal name**
**What it does**The percentage drop below TWAP cost that, combined with 4+ hours of DCA depth halt, triggers the per-coin automatic sell. At 45% (default), a coin must be 45% or more below cost for 4+ hours before the bot exits the position.
**Default**45
**Range**20 – 80

Tessara Parameter Reference — Version 3.0 — May 12, 2026

15. Smart Signals

Smart Signals is an intelligence layer that improves entry sizing, manages conviction over time, and protects the portfolio when market conditions deteriorate. Most features are off by default and can be enabled individually in Settings.

Signal Score Enabled

KeysignalScoreEnabled
Defaulttrue
**What it does**Enables the composite signal score that drives buy sizing. Combines CVD (35 pts), Relative Strength (30 pts), Liquidity (20 pts), and Macro (15 pts) into a 0–100 score. Score drives a 0.35×–1.25× buy size multiplier.

Signal Sizing Enabled

KeysignalSizingEnabled
Defaulttrue
**What it does**Applies the signal score multiplier to buy order sizes. When disabled, signal scores are still computed but do not affect order sizes.

Auto Buy Pause Enabled

KeyautoBuyPauseEnabled
Defaulttrue
**What it does**Automatically pauses all new buy orders when 2 or more defensive conditions trigger simultaneously (negative CVD, weak relative strength, poor liquidity, adverse macro). Resumes automatically when conditions clear. Requires 2+ conditions — a single bad signal does not trigger a pause.

Relative Strength Rotation Enabled

KeyrelativeStrengthRotationEnabled
Defaulttrue
**What it does**Ranks all active coin positions by relative strength. When a held coin significantly underperforms the portfolio average and a stronger candidate exists, the bot can exit the weak position and redeploy capital. Requires rotationEnabled to be active.

Rotation Enabled

KeyrotationEnabled
Defaulttrue
**What it does**Master switch for capital rotation. When enabled, the bot can exit underperforming positions to redeploy capital into stronger opportunities. BTC and ETH are protected by default (require 2× the normal weakness threshold).

Rotation Max Per 10 Min

KeyrotationMaxPer10Min
Default5
**What it does**Maximum number of rotation exits allowed in any 10-minute window. Prevents churn loops where rapid successive exits compound losses.

Rotation Protected Coins

KeyrotationProtectedCoins
Default["BTC", "ETH"]
**What it does**Coins that require twice the normal weakness threshold before they can be rotated out. Protects core holdings from aggressive rotation.

Conviction Decay Enabled

KeyconvictionDecayEnabled
Defaulttrue
**What it does**Tracks each position's conviction score over time. Conviction decays when a coin underperforms or when signals weaken. Low-conviction positions become eligible for rotation sooner than high-conviction ones.

Correlation Limits Enabled

KeycorrelationLimitsEnabled
Defaulttrue
**What it does**Limits total capital exposure to any cluster of highly-correlated coins (correlation threshold 0.75). Maximum 25% of portfolio per cluster. Prevents over-concentration in coins that move together.

Sell Side Signal Enabled

KeysellSideSignalEnabled
Defaulttrue
**What it does**Uses signal data to influence sell order placement. Strong buy-side pressure may delay a sell slightly to capture a better exit price.

Portfolio Lifecycle Enabled

KeyportfolioLifecycleEnabled
Defaulttrue
**What it does**Manages the long-term health of the coin portfolio. Prunes underperforming coins that haven't completed a cycle in a configurable window, and targets an optimal number of active grids based on available capital.

Dead Weight Exit Enabled

KeydeadWeightExitEnabled
Defaulttrue
**What it does**Exits positions that have been held for longer than deadWeightHours AND are down more than deadWeightDrawdownPct. Prevents capital from being indefinitely locked in stagnant positions.

Dead Weight Drawdown (%)

KeydeadWeightDrawdownPct
Default15
Range5 – 50
**What it does**Minimum drawdown percentage a position must have sustained before it qualifies as dead weight. Works in conjunction with deadWeightHours.

Dead Weight Hours

KeydeadWeightHours
Default48
Range12 – 168
**What it does**Minimum hours a position must have been held before dead weight exit eligibility is checked. Prevents premature exits of positions that simply need more time.

De-Risk Enabled

KeydeRiskEnabled
Defaulttrue
**What it does**Activates portfolio-level de-risking when macro conditions deteriorate significantly. Reduces overall exposure by tightening position sizing and increasing the buy pause threshold.

16. Stop Loss — Advanced

Stop Loss — Majors (%)

KeystopLossPctMajors
Default35
Range10 – 90
**What it does**Portfolio drawdown stop loss percentage applied specifically to BTC and ETH (major coins). Typically set higher than the alts threshold to allow more room for recovery on less volatile assets.

Stop Loss — Alts (%)

KeystopLossPctAlts
Default25
Range10 – 80
**What it does**Portfolio drawdown stop loss percentage for all non-major coins. Alts are more volatile and typically warrant a tighter stop than majors.

Per-Coin Stop Loss Enabled

KeyperCoinStopLossEnabled
Defaulttrue
**What it does**Enables individual per-coin stop loss enforcement in addition to the portfolio-level stop. When a single coin's position drawdown exceeds maxCoinDrawdownPct, that coin's grid is paused.