TraderLobbyDocs
Back to TraderLobby
TRADERLOBBY GUIDE

Build, test, and publish a strategy

Use Canvas, Form, and JSON to create a private strategy, observe it in Paper, submit a version, and steward published work.

Creator turns a market idea into a private, versioned strategy that you can explain, configure, observe in Paper, submit for review, and—when approved—share in the Marketplace. The work is broader than choosing indicators: you are defining who the strategy watches, when it acts, how much it may allocate, how it exits, what happens beside companion strategies, and what future subscribers need to understand.

For: Customers using the Creator workspace  ·  Reading time: 35–50 minutes  ·  Safest habit: Change one decision at a time and preserve the evidence for the exact version you submit

The Creator journey at a glance

A creator moves through seven distinct stages. Treat each stage as a checkpoint rather than rushing from an idea to a public listing.

Seven-stage Creator lifecycle from eligibility through private drafting, testing, review, publication, and stewardship
Conceptual guide: saving, historical preview, Paper observation, moderation, publication, and subscriber updates are separate events.
  1. Confirm access and capacity

    Open Billing → Creator plan to review eligibility, current limits, price, renewal status, and the authoritative terms shown before purchase.

  2. Create a private identity

    Choose a distinct name, a plain-language purpose, and an approved icon. These identify the draft without exposing its rule values.

  3. Build one coherent definition

    Use Canvas for the lifecycle, Form for precise controls, or JSON for the complete structured model.

  4. Preview and observe

    Use the historical draft preview for rapid feedback, then add the saved version to Paper to observe scheduled decisions.

  5. Explain the version

    Write release notes that tell a future subscriber what changed, why, and what should be reviewed before accepting it.

  6. Submit for review

    A fresh historical test is recorded and the submitted version locks while moderation reviews it.

  7. Steward published work

    Keep evidence, updates, subscribers, analytics, earnings, reports, and retirement decisions in their proper places.

Enter Creator from the Marketplace

Actual TraderLobby Strategies Marketplace showing the Become a Creator entry point
The actual Marketplace. Become a Creator begins the eligibility or private-creation path; it does not publish a strategy.

Open Strategies and select Become a Creator. When your account can create another private strategy, the creation dialog opens. When the current plan limit has been reached, TraderLobby sends you to Billing → Creator plan so you can review capacity and terms.

StateWhat you can doWhat remains separate
Creation capacity availableCreate and retain a private strategy draft within the displayed limit.Marketplace submission, publication, paid access, and Live use.
Creator plan required or limit reachedReview the plan, current usage, capacity, price, and renewal terms.Starting a plan does not publish, test, or enable a strategy.
Creator plan scheduled to endUse the displayed access-through date and review existing work.Published-strategy, subscriber, earnings, and archival consequences must be read separately.

Create the private strategy shell

Actual Create strategy dialog with name, description, approved icon, and private-draft notice
The actual creation dialog. It creates a private shell; behavior is configured afterward in the Universal Strategy Builder.
FieldRequirementWrite it for the customer
Strategy name3–60 plain-text characters and unique among your strategies.Use a memorable purpose or style, not a return claim, ticker promotion, URL, or guarantee.
Description20–500 plain-text characters.Describe the intended market behavior, observation horizon, and important risk—not private thresholds.
Approved iconSelect from the provided library.Use a visual cue that distinguishes the strategy. Custom uploads and embedded media are not accepted.

Names and descriptions cannot contain markup, links, embedded media, or inappropriate language. After selecting Create private strategy, TraderLobby opens Version 1 in the Universal Strategy Builder.

Read the Universal Strategy Builder

The header identifies the version and status: PRIVATE DRAFT while editable or AWAITING REVIEW after submission. It also summarizes condition count, timeframes, and open slots. Below it, the Historical draft preview recalculates after changes; Add to Paper now saves and enables the current draft in Paper; marketplace identity holds the name and description; the view selector changes how you edit; release notes explain the version; and the final buttons save or submit.

Historical draft previewA fast simulation over the displayed window. It places no order and does not become marketplace evidence, rating, price, closes, or reviews.
Add to Paper nowSaves this definition, adds it to the Paper workspace, enables it, and requests a Paper evaluation. It never places a real order.
Save private draftPersists the editable version without submitting it.
Submit for reviewRecords a fresh historical test, submits the version, and locks it during moderation.

Choose Canvas, Form, or JSON for the task

Canvas, Form, and JSON converging on one private versioned strategy definition
Conceptual guide: all three views edit the same definition. Choose a view by the work you need to do.
ModeBest forUse another mode when
CanvasUnderstanding the trade lifecycle, opening one stage at a time, touch-friendly changes, and seeing compact summaries.You need a value not exposed in the simplified control or need to audit every supplied property.
FormReviewing all common sections in screen order, entering precise numbers, managing rule groups, and configuring conditional fields.You need nested groups, a structured import/export workflow, or a whole-definition comparison.
JSONAdvanced whole-definition inspection, copy, export, import, formatting, path-specific validation, and reproducible review.You are not comfortable preserving strict JSON structure or want guided controls and summaries.

Build through the lifecycle in Canvas

Actual Universal Strategy Builder in Canvas mode
The actual Canvas view. Expand one lifecycle stage or one governing control group at a time.

Canvas presents seven lifecycle stages—Market & schedule, Entry logic, Sizing & add-ons, Hold management, Profit taking, Stops & exits, and Cooldown—followed by three groups that govern the whole path: Portfolio risk, Multi-strategy dependencies, and Execution.

Canvas stageQuestion it answersImportant controls
Market & scheduleWhich supported markets can be considered, and when?Universe, stablecoins, scan rhythm, timeframes, volume, spread, and candle-close evaluation.
Entry logicWhat combination of observations creates a candidate?Condition groups, metrics, operators, values, timeframe, lookback, confirmation, and expiry.
Sizing & add-onsHow much exposure can begin or be added?Risk/equity/fixed sizing, slots, per-asset limit, bounded average-down or pyramid-up orders.
Hold managementHow long may a position remain open?Minimum, maximum, underwater duration, and conditional extension.
Profit takingHow are favorable moves harvested or protected?Fixed target, tiers, signal exit, trailing activation, and allowed retrace.
Stops & exitsWhich losses or changing conditions require an exit?Hard stop, grace, anchor, breakeven, and additional exit groups.
CooldownWhen may the strategy consider another entry?Wait after a win, loss, or any exit.
Portfolio riskWhich strategy-wide limits can pause new risk?Allocation, drawdown lock, daily loss, correlated positions, and pause duration.
DependenciesHow does the strategy behave beside author-owned companions?Activation, companions, ownership conflict, priority, and explicit overrides.
ExecutionHow should eligible entry and exit orders be attempted?Market/limit choice, offset, slippage ceiling, and minimum order.

More precise controls opens the corresponding Form controls inside a Canvas stage. This does not create a second copy; it changes the same draft definition.

Tune every common control in Form

Actual Universal Strategy Builder in Form mode with section tabs and precise fields
The actual Form view. Review sections in order and read conditional controls only after enabling their parent feature.

Form organizes the definition into Market & schedule, Entry logic, Sizing & add-ons, Hold management, Profit taking, Stops & exits, Portfolio risk, Multi-strategy dependencies, and Execution. The following reference maps every common Form decision to its JSON path.

Form labelJSON pathWhy and when to use it
Universeuniverse.modeChoose the starting market set. Use Custom allowlist only when you intentionally maintain symbols.
Stablecoinsuniverse.stablecoinsExclude by default, include beside other assets, or restrict the universe to stablecoins.
Minimum USD volume / Maximum spread / price boundsuniverse.minUsdVolume, maxSpreadPct, minPrice, maxPriceFilter markets whose liquidity, quoted cost, or price range does not fit the idea.
Only / Never these symbolsuniverse.include, universe.excludeApply explicit allow or deny lists. An excluded symbol remains excluded.
Scan every / history days / timeframes / candle closeschedule.*Define evaluation frequency, required context, bar families, and whether incomplete candles may trigger decisions.
Group logic and rulesentry.groups[]Combine observations with all, any, or at-least logic. Prefer the simplest tree that expresses the hypothesis.
Confirmation / expiry barsentry.confirmationBars, signalExpiryBarsRequire persistence and limit how long an old signal stays actionable.
Sizing method / value / slots / per assetsizing.*Define initial exposure and concurrency. The meaning of value depends on the sizing method.
Add-on controlsaddOns.*Optionally scale into weakness or strength with bounded order count, spacing, and size progression.
Hold and underwater timinghold.*, exit.underwaterMinutesSet earliest and latest normal exits, prolonged-loss handling, and an optional rule-based extension.
Profit-taking and trailing controlstakeProfit.*, trailing.*Choose a fixed target, partial tiers, a condition, or profit protection after activation.
Hard stop and breakevenstopLoss.*Bound a loss, choose the entry anchor, allow grace where justified, and optionally raise protection after a favorable move.
Additional exit groupsexit.groups[]Close when market or position observations satisfy an independent exit tree.
Portfolio risk and cooldownsportfolioRisk.*, cooldowns.*Apply strategy-wide circuit breakers and recovery waits above individual positions.
Dependencies and overridespartnerships.*Change behavior only when selected author-owned companion strategies are active.
Order executionexecution.*Choose fill priority or price control and state cost assumptions.

Write understandable condition groups

A condition tree contains groups and rules. Entry requires at least one group; exit may be empty. Each group can contain up to 25 rules, up to 10 sibling groups are allowed at one level, and nested groups may be no more than three levels deep.

Group choiceMeaningUse carefully
allEvery enabled rule in the group must pass.Each extra rule narrows opportunity and may create very small samples.
anyOne enabled rule is sufficient.One permissive rule can dominate the group.
at_leastThe configured minimum number of rules must pass.The minimum must make sense for the number of rules.
Rule fieldHow to configure itCommon mistake
metricSelect the observation the rule evaluates.Comparing metrics with different units as if they were interchangeable.
operatorChoose greater/less, cross, range, direction, or equality logic.Using between/outside without a second value or reversing lower and upper bounds.
value / value2Enter the threshold in the metric’s displayed unit; value2 is required for between/outside.Typing a decimal fraction when the metric label expects percent points, or vice versa.
timeframeChoose 1m, 5m, 15m, 30m, 1h, 4h, or 1d.Expecting a long-window metric to stabilize with too little recorded history.
lookbackUse an integer from 1 through 5000 bars.Confusing bars with minutes or days; the duration depends on timeframe.

Understand every supported rule metric

Metrics are observations, not predictions. Their interpretation depends on timeframe and lookback. Compare like units and verify that the displayed historical window contains enough observations.

Metric keyWhat it representsTypical use
priceCurrent observed asset price.Absolute price thresholds; currently most practical through JSON.
return_pctPrice change over the lookback.Momentum, pullback, or reversal context.
price_vs_sma_pct / price_vs_ema_pctPrice distance from a simple or exponential moving average.Trend location or mean-reversion distance.
rsiRelative Strength Index over the chosen window.Momentum-state filters; not a standalone guarantee of reversal.
macd / macd_signalMACD value and its signal line.Direction, convergence, divergence, or cross logic.
bollinger_positionPrice location within or around Bollinger bands.Relative stretch or range position.
atr_pct / volatilityATR as a percentage and realized variability.Volatility filters and risk context.
volume_ratio / usd_volumeRelative trading activity and absolute USD volume.Participation confirmation and liquidity filtering.
hit_rateShare of positive bars in the lookback.Persistence of favorable bars.
bounce_from_local_lowRecovery from a recent local low.Confirmation after a decline.
breakout_pctDistance beyond a recent reference high or range.Breakout magnitude.
drawdown_pctDecline from a prior high.Pullback depth and deterioration filters.
market_regimeNormalized broader-market condition score.Require supportive or defensive context without treating it as certainty.
btc_return_pctBitcoin price change over the lookback.Market-leader context for non-Bitcoin assets.
beta_to_btc / beta_residual_pctSensitivity to Bitcoin and return beyond that relationship.Separate broad-market movement from asset-specific behavior.
return_acceleration_pctChange in return pace.Strengthening or weakening movement.
trend_established_barsNumber of consecutive bars supporting the trend definition.Trend persistence.
volatility_ratioCurrent volatility relative to a prior window.Volatility expansion or contraction.
time_in_positionElapsed position duration.Position-aware exit or extension conditions.
position_return_pct / peak_return_pctCurrent position return and best return reached.Profit protection, deterioration, or exit logic.
underwater_minutesTime the position has remained below its reference value.Exit or extension decisions based on sustained weakness.

Use JSON as a controlled advanced workflow

Actual Universal Strategy Builder in JSON mode with formatting, copy, export, import, validation, and apply controls
The actual JSON view. Validation identifies a path and message; only valid, applied text becomes the draft used by other views.
  1. Export before a broad change

    Use Export file to preserve a readable copy of the owner-only definition. Anyone receiving the file can inspect and import its logic.

  2. Edit one section

    Keep keys, braces, brackets, commas, strings, and number types intact. Tab inserts spaces inside the editor.

  3. Read automatic validation

    Syntax errors identify malformed text; schema errors identify a path whose value or structure is unsupported.

  4. Format and inspect

    Use Format JSON after it parses so nested structure and unintended changes are easier to see.

  5. Apply deliberately

    Select Use JSON in draft only after the status says every required and supplied optional value is valid.

  6. Recheck Canvas or Form

    Confirm the lifecycle summaries and conditional controls match your intent before saving or testing.

Strategy JSON complete key and value reference

The current customer-authorable schema is Version 2. Every required top-level section is an object. Unless a stricter rule is listed, numeric fields must be finite; use nonnegative values and the Form or Canvas control as the practical guide. Validation remains authoritative.

PathType, values, and defaultWhy, when, and how
schemaVersionRequired number; exactly 2.Identifies the supported definition contract. Do not change it.
universe.modetop_20, top_100 (default), all_supported, top_volume, trending, relative_volume, volatile, mean_reversion, core, or custom.Selects the starting market population. Custom relies on include; dynamic modes are re-resolved from current eligible data.
universe.includeString array, default empty; maximum 250.Restricts dynamic modes when nonempty or supplies the Custom allowlist. Use normalized supported symbols such as BTC-USD.
universe.excludeString array, default empty; maximum 250.Removes symbols after inclusion. Use for known exclusions, not as a substitute for liquidity filters.
universe.minUsdVolumeNumber, default 500000.Rejects markets below the desired USD-volume floor.
universe.minPrice / maxPriceNumbers, defaults 0.000001 and 1000000.Bounds eligible quoted prices. Keep minimum at or below maximum.
universe.maxSpreadPctNumber, default 1 percentage point.Rejects markets whose observed spread exceeds the cost assumption.
universe.stablecoinsexclude (default), include, or only.Controls stablecoin-base inclusion.
schedule.timeframesString array using 1m, 5m, 15m, 30m, 1h, 4h, 1d; default ["1h"].Declares bar families used by the definition. Include every timeframe referenced by rules.
schedule.scanIntervalMinNumber, default 15 minutes.Sets evaluation rhythm. A shorter scan does not create missing completed bars.
schedule.barCloseOnlyBoolean, default true.When true, waits for completed candles and avoids acting on an unfinished bar.
schedule.historyLookbackDaysInteger-like number, default 30; validation range 1–400 days.Requests enough preceding context for the longest rules. More history does not guarantee a larger valid sample.
entry.groupsRequired RuleGroup array; 1–10 top-level groups.Defines candidate entry logic. Keep the tree explainable and testable.
entry.confirmationBarsNumber, default 1.Requires the entry condition to persist across bars.
entry.signalExpiryBarsNumber, default 1.Limits how many bars an eligible signal remains current.
sizing.moderisk_pct (default), equity_pct, or fixed_usd.Defines whether sizing value represents risk percentage, exposure percentage, or dollars.
sizing.valueNumber, default 1.Magnitude interpreted by sizing.mode. Recheck when changing modes.
sizing.maxSlotsInteger-like number, default 3; range 1–50.Caps concurrently used strategy slots; account-level availability can be lower.
sizing.maxPerAssetNumber, default 1.Caps positions attributed to the same asset within the strategy.
addOns.enabledBoolean, default false.Enables bounded follow-on orders after the initial entry.
addOns.directionaverage_down (default) or pyramid_up.Chooses adding after adverse movement or confirmed favorable movement.
addOns.maxOrdersNumber, default 0.Caps additional orders. Zero produces no add-ons even when enabled.
addOns.deviationPctNumber, default 2 percentage points.Sets the first dip or gain step from the reference.
addOns.stepMultiplierNumber, default 1.Scales spacing between later add-ons.
addOns.sizeMultiplierNumber, default 1.Scales the size of later add-on orders.
hold.minimumMinutes / maximumMinutesNumbers, defaults 0 and 4320.Define normal earliest and latest holding boundaries. Keep minimum at or below maximum.
hold.extendWhenRuleGroup or null; default null.Allows a qualifying position to remain beyond maximumMinutes. Use only with an extension duration.
hold.extendMinutesNumber, default 0.Adds time when extendWhen passes.
takeProfit.modefixed (default), tiers, or signal.Selects one target, partial exits, or condition-based profit taking.
takeProfit.fixedPctNumber, default 10.Fixed target in percentage points when mode is fixed.
takeProfit.tiers[]Array up to 12; default one tier at 10% threshold and 100% fraction.Each object uses thresholdPct and fractionPct. Order tiers from lower to higher trigger and ensure intended fractions are coherent.
takeProfit.signalRuleGroup or null; default null.Condition tree used when mode is signal.
stopLoss.enabled / pctBoolean true and number 5 by default.Enables and sets the hard-loss boundary.
stopLoss.graceMinutesNumber, default 0.Delays application for an intentional opening period; grace also leaves loss exposure unprotected during that time.
stopLoss.anchoraverage (default) or initial.Chooses whether the loss percentage references average cost or the first entry.
stopLoss.moveToBreakeven.enabledBoolean, default false.Allows the stop reference to move after favorable progress.
stopLoss.moveToBreakeven.activationPct / offsetPctNumbers, defaults 5 and 0.Set the gain that activates the move and the intended offset around breakeven.
trailing.enabledBoolean, default false.Enables protection based on retrace from a favorable peak.
trailing.activationPct / trailPctNumbers, defaults 5 and 3.Set when trailing begins and the allowed retrace.
trailing.tiers[]Array up to 12; default empty.Each object uses peakPct and trailPct for stage-specific trailing behavior.
exit.groupsRuleGroup array, default empty; maximum 10 top-level groups.Adds indicator- or position-based exits independently of stops and profit taking.
exit.underwaterMinutesNumber, default 0.Supports prolonged-underwater exit behavior; zero disables the time threshold.
cooldowns.afterWinMinutes / afterLossMinutes / afterAnyExitMinutesNumbers, defaults 480, 480, and 0.Delay new eligibility after the corresponding completed exit. Overlapping waits should be reviewed as a system.
portfolioRisk.maxAllocationPctNumber, default 75.Caps the strategy’s share of eligible portfolio allocation.
portfolioRisk.maxStrategyDrawdownPctNumber, default 20.Locks strategy risk after the configured drawdown.
portfolioRisk.maxDailyLossPctNumber, default 5.Acts as a daily loss circuit breaker.
portfolioRisk.maxCorrelatedPositionsNumber, default 3.Caps simultaneous positions treated as correlated.
portfolioRisk.pauseMinutesNumber, default 120.Sets the lock recovery period before evaluation may resume.
execution.entryOrder / exitOrdermarket (default) or limit.Market prioritizes an attempt to fill; limit prioritizes a price boundary and may not fill.
execution.limitOffsetPctNumber, default 0.Offsets limit pricing when a limit order is selected.
execution.maxSlippagePctNumber, default 1.States the maximum acceptable slippage assumption; provider behavior and liquidity still matter.
execution.minOrderUsdNumber, default 5.Rejects calculated orders below the strategy floor; exchanges may impose higher rules.
partnerships.enabledBoolean, default false.Activates a companion-dependent profile.
partnerships.activationall (default) or any.Requires all selected companions or at least one to be active.
partnerships.companionStrategyKeysAuthor-owned strategy-key array, default empty; 1–12 when enabled.Names the eligible companions. You cannot depend on another creator’s private strategy.
partnerships.overridesObject, default empty; serialized maximum 50,000 characters.May replace schedule, entry, sizing, addOns, hold, takeProfit, stopLoss, trailing, exit, cooldowns, portfolioRisk, or execution while the profile is active. Omitted sections inherit standalone behavior.
partnerships.overlap.policycoexist (default), exclusive_priority, or highest_signal.Controls whether partners may separately own the same asset or one receives priority.
partnerships.overlap.priorityWeightNumber 0–100, default 50.Ranks this strategy when priority-based ownership applies.
partnerships.overlap.onConflictallow_both (default), block_new, or replace_lower.Defines the action when a companion already owns the asset. Replacement can add exits, fees, taxes, delay, and slippage.

RuleGroup and Rule JSON reference

PathSupported valuePurpose and caution
group.idRequired nonempty string.Stable identity for editing and validation; keep unique within your definition.
group.operatorall, any, or at_least.Combines the group’s rules and child groups.
group.minimumNumber; relevant to at_least.Required pass count. Keep it achievable by the group’s enabled members.
group.rulesArray, maximum 25 per group.Direct observations evaluated by this group.
group.groupsOptional RuleGroup array; maximum 10 at a level and maximum nesting depth 3.Expresses nested logic. Deep trees are harder to explain and validate.
rule.idRequired nonempty string.Stable identity; keep unique.
rule.metricOne supported metric key from the metric table.Observation on the left side of the comparison.
rule.operatorgreater_than, less_than, crosses_above, crosses_below, between, outside, rising, falling, or equals.Comparison behavior. Between/outside require value2.
rule.valueRequired finite number.Primary threshold.
rule.value2Finite number when supplied; required for between/outside.Second range boundary.
rule.compareMetricOptional supported metric key.Advanced JSON comparison against another compatible observation; verify units and behavior in Paper.
rule.timeframe1m, 5m, 15m, 30m, 1h, 4h, or 1d.Bar interval used by the rule.
rule.lookbackOptional integer 1–5000.Number of bars used to calculate the observation.
rule.enabledOptional boolean.Temporarily includes or excludes a rule without deleting it. Reconfirm group minimums afterward.

Read a small, complete JSON example

The following example uses the default Version 2 structure and one simple entry rule. It is educational, not a recommended strategy.

{
  "schemaVersion": 2,
  "universe": { "mode": "top_100", "include": [], "exclude": [], "minUsdVolume": 500000, "minPrice": 0.000001, "maxPrice": 1000000, "maxSpreadPct": 1, "stablecoins": "exclude" },
  "schedule": { "timeframes": ["1h"], "scanIntervalMin": 15, "barCloseOnly": true, "historyLookbackDays": 30 },
  "entry": { "groups": [{ "id": "entry-1", "operator": "all", "rules": [{ "id": "rule-1", "metric": "price_vs_sma_pct", "operator": "greater_than", "value": 1, "timeframe": "1h", "lookback": 20 }], "groups": [] }], "confirmationBars": 1, "signalExpiryBars": 1 },
  "sizing": { "mode": "risk_pct", "value": 1, "maxSlots": 3, "maxPerAsset": 1 },
  "addOns": { "enabled": false, "direction": "average_down", "maxOrders": 0, "deviationPct": 2, "stepMultiplier": 1, "sizeMultiplier": 1 },
  "hold": { "minimumMinutes": 0, "maximumMinutes": 4320, "extendWhen": null, "extendMinutes": 0 },
  "takeProfit": { "mode": "fixed", "fixedPct": 10, "tiers": [{ "thresholdPct": 10, "fractionPct": 100 }], "signal": null },
  "stopLoss": { "enabled": true, "pct": 5, "graceMinutes": 0, "anchor": "average", "moveToBreakeven": { "enabled": false, "activationPct": 5, "offsetPct": 0 } },
  "trailing": { "enabled": false, "activationPct": 5, "trailPct": 3, "tiers": [] },
  "exit": { "groups": [], "underwaterMinutes": 0 },
  "cooldowns": { "afterWinMinutes": 480, "afterLossMinutes": 480, "afterAnyExitMinutes": 0 },
  "portfolioRisk": { "maxAllocationPct": 75, "maxStrategyDrawdownPct": 20, "maxDailyLossPct": 5, "maxCorrelatedPositions": 3, "pauseMinutes": 120 },
  "execution": { "entryOrder": "market", "exitOrder": "market", "limitOffsetPct": 0, "maxSlippagePct": 1, "minOrderUsd": 5 },
  "partnerships": { "enabled": false, "activation": "all", "companionStrategyKeys": [], "overrides": {}, "overlap": { "policy": "coexist", "priorityWeight": 50, "onConflict": "allow_both" } }
}

Verify a cross-mode change

  1. Choose one decision

    For example, change Maximum open slots rather than changing entry, sizing, and exits together.

  2. Change it in Canvas

    Open Sizing & add-ons and set Open slots.

  3. Confirm it in Form

    Open Sizing & add-ons and read Maximum open slots.

  4. Confirm its JSON path

    Open JSON and find sizing.maxSlots. Do not edit unrelated text.

  5. Save the private draft

    Wait for the Private draft saved message.

  6. Reopen and verify

    Return to My creations, reopen the strategy, and confirm the value before interpreting a preview.

Separate historical preview from Paper observation

Evidence sourceWhat it answersWhat it does not prove
Historical draft previewHow the current draft would have behaved under the displayed window and assumptions.Future performance, marketplace evidence, a live fill, rating, price, or subscriber outcome.
Creator’s Paper workspaceHow the saved draft evaluates on its schedule with simulated orders and delayed market data.Live execution quality, real liquidity, actual fees, or customer suitability.
Customer Paper evidenceObserved simulated use after publication.Live performance.
Live evidenceEligible completed real-money attributed activity.A promise, recommendation, or guarantee.

The preview updates quickly and can help catch a broken or overly restrictive idea. Read return beside simulated closes, win rate, maximum drawdown, date window, and assumptions. A large return from very few closes is fragile evidence.

Run a careful Paper observation cycle

  1. Save a named version of the idea

    Record what you expect the changed setting to influence.

  2. Select Add to Paper now

    Wait for confirmation that the saved draft was added and enabled in Paper.

  3. Observe candidates and skips

    Use Trading to see eligibility, slot use, positions, exits, and reasons rather than watching P&L alone.

  4. Trace completed activity

    Use Transactions and Reporting to connect decisions, orders, fills, fees, and outcomes.

  5. Keep the observation window honest

    Include inactive and unfavorable periods; do not stop the review only when a favorable result appears.

  6. Change one boundary next

    Preserve notes so you can distinguish the effect of the next version.

Prepare and submit a version

Boundary between the owner-only strategy definition and customer-visible marketplace evidence
Conceptual guide: future customers need decision-ready context and evidence, not the private thresholds inside your full definition.
  1. Review marketplace identity

    Confirm the name, icon, and description remain accurate and do not promise returns.

  2. Resolve every validation issue

    Incomplete groups, unsupported metrics, invalid partners, and dirty JSON must be corrected.

  3. Run a fresh historical test

    The submitted evidence must correspond to the latest saved definition.

  4. Write specific release notes

    State what changed, the expected behavioral effect, and the settings or risks a subscriber should reconsider.

  5. Select Submit for review

    Submission saves the version, records the test, sends it to moderation, and changes the status to Awaiting review.

  6. Wait for a decision

    The version remains locked. If rejected, read the feedback, revise the next editable draft, retest, and resubmit.

Release updates without moving subscribers silently

An approved update never replaces a subscriber’s accepted version automatically. Subscribers see release notes and choose whether to update. That makes version notes a safety control, not marketing copy.

Version eventCreator responsibilitySubscriber effect
Private draft savedPreserve purpose and observations.No public change.
SubmittedDo not imply approval while locked.Current published version remains available.
Approved and publishedKeep description, disclosures, and notes accurate.New customers see the published version; existing subscribers review the update.
Subscriber accepts updateSupport clear comparison and consequences.That subscription adopts the approved version.
ArchivedStop new sales and preserve ongoing obligations.Existing subscribers keep their accepted version.

Manage, clone, archive, and delete responsibly

Open My creations, select an owned strategy, and use its creator actions.

ActionUse it forConsequence
Edit draftContinue the next editable version.Does not change the currently accepted subscriber version until review and acceptance.
Clone to private draftExplore a materially different idea without rewriting the source strategy.Creates separate private work with separate identity and lifecycle.
ArchiveStop new Marketplace sales when active subscribers still exist.Existing subscriber access is preserved.
DeletePermanently remove an eligible strategy with no subscriber constraint.Cannot be undone.
Force delete & forfeitLeave ownership of an archived strategy that still has active subscribers.You permanently forfeit ownership and future revenue; accepted subscriber access can continue until subscriptions end.

Read Creator analytics as operational evidence

Reporting → Creator analytics separates access, retention, Paper evidence, Live evidence, realized P&L attribution, estimated net MRR, and lifetime net. Do not combine them into one performance claim.

  • Active access counts access records, not customers currently trading.
  • Retention is a subscription-record ratio, not an investment return.
  • Paper closes and win rate remain simulated evidence.
  • Live closes and win rate reflect eligible completed real-money activity but remain historical.
  • Realized P&L is customer activity attribution, not creator earnings.
  • Estimated net MRR is an estimate, not an available payout.
  • Lifetime net comes from creator-ledger records; use Billing for hold, availability, and payout state.

Keep publication, pricing, and earnings separate

Creators cannot set or inflate their own Marketplace price. Price progression depends on the platform’s published evidence and adoption rules. When eligible subscription revenue is recorded, the current Marketplace split is shown in Billing; pending hold, available balance, requested payout, paid amount, refunds, disputes, and adjustments remain distinct ledger states.

For the current 75% creator / 25% platform split, holding period, minimum payout, onboarding, ledger export, and cancellation boundaries, read Account, billing, and support → Creator earnings. The values shown in Billing control.

Publish as a responsible marketplace participant

  • Describe purpose and uncertainty in plain language; never guarantee profit or imply suitability for everyone.
  • Keep Lab Paper, customer Paper, and Live evidence labeled separately.
  • Do not manipulate samples, reviews, adoption, pricing, ratings, or creator analytics.
  • Do not copy private definitions or third-party intellectual property without permission.
  • Do not expose customer information, credentials, balances, private communications, or provider records.
  • Respond to moderation feedback and Marketplace reports without retaliating against customers.
  • Maintain published descriptions and release notes when behavior or material risk changes.
  • Retire work deliberately and preserve subscriber access and financial records where required.

Troubleshoot the Creator workflow

What you seeLikely meaningWhat to do
Creator plan requiredPublication eligibility or capacity is not active.Review Billing → Creator plan; your private Paper draft can remain available.
Current strategy limit reachedYour plan has no remaining private-strategy capacity.Review usage, archive only when appropriate, or review plan capacity.
Condition groups incompleteA group, rule, operator, threshold, timeframe, or required entry tree is invalid.Open Form or JSON feedback and repair the named path.
Unsupported metricThe supplied key is not in the customer metric catalog.Replace it with a supported metric from this page and retest.
Partner strategy rejectedA companion is missing, not author-owned, malformed, or beyond the limit.Select at least one eligible strategy created by the same author.
Apply or restore JSON changesThe JSON editor contains unapplied text.Fix validation and apply it, or restore the current draft.
Fresh historical test requiredThe latest saved definition has not produced the submission snapshot.Resolve issues and submit again so the latest version is tested.
Release notes requiredA submission lacks version context.Explain what changed, expected behavior, and material review points.
Awaiting review / Draft lockedThe submitted version is under moderation.Wait for a decision; do not create duplicate submissions.
Preview has few or no closesRules may be restrictive, history short, or the market set inactive.Read the window and assumptions; simplify one condition or observe longer in Paper.

A careful creator operating routine

  1. State the hypothesis

    Write what behavior you expect and the conditions that would challenge it.

  2. Set market and timing first

    Make the universe, history, timeframe, and evaluation rhythm coherent before adding complexity.

  3. Define entry and sizing

    Know what qualifies and how much exposure one candidate can create.

  4. Define every exit path

    Review stop, hold, profit, trailing, signal exit, cooldown, and portfolio lock together.

  5. Preview for mistakes

    Use the historical result to find broken assumptions, not to select only the most flattering configuration.

  6. Observe in Paper

    Trace candidates, inactivity, positions, decisions, and completed records across changing conditions.

  7. Document the version

    Record the change, intended effect, evidence window, limitations, and customer-facing consequence.

  8. Submit and steward

    Respect moderation, subscriber choice, evidence labels, Marketplace reports, and retirement obligations.

What to read next

Was this page helpful?Send feedback