Skip to content

MngCreatePropProgram

Creates a prop trading program.

This method saves the full program aggregate. The request must include nested steps. Trading conditions, available symbols, leverage and initial challenge balance are resolved from each steps[].account_group.

Access

SESSION_MANAGER, SESSION_ADMIN, SESSION_DEALER, SESSION_CRM_MANAGER, SESSION_CRM_ADMIN.

Request Parameters

Name Type Required Description
brand string Yes Brand namespace
name string Yes Program name
price double Yes Purchase price
price_currency string Yes Purchase currency
description string No Program description
status int No 0 active, 1 disabled, 2 archived. Default 0
sort_index int No UI ordering value
steps array Yes Program steps/phases to create together with the program

The response exposes program.profit_split as a computed value from the funded phase. The source of truth is steps[].profit_split on the funded phase.

Step Item

Name Type Required Description
phase_index int Yes Phase order starting from 1
phase_type int No 0 evaluation, 1 funded. Default 0
name string Yes Step/phase name
account_group string Yes Trading group for this phase account. Evaluation phases must use a DEMO group; funded phases must use a REAL group
duration_days int No Phase duration
max_daily_loss_pct double No Maximum daily loss percent
max_total_loss_pct double No Maximum total loss percent
max_daily_profit_pct double No Maximum daily profit percent
profit_target_pct double No Profit target percent
profit_split double No Trader profit share for funded phase. 0.8 means 80%. Must be 0 or omitted for non-funded phases
min_trading_days int No Minimum trading days
max_trading_days int No Maximum trading days
max_positions int No Maximum open positions

Response step objects also include computed initial_balance, resolved from account_group -> GroupRecord.default_deposit.

Request

{
  "command": "MngCreatePropProgram",
  "extID": "1",
  "data": {
    "brand": "default",
    "name": "Evaluation 100K",
    "description": "Two phase evaluation",
    "price": 499.0,
    "price_currency": "USD",
    "status": 0,
    "sort_index": 100,
    "steps": [
      {
        "phase_index": 1,
        "phase_type": 0,
        "name": "Evaluation",
        "account_group": "PROP_DEMO_USD",
        "duration_days": 30,
        "max_daily_loss_pct": 5,
        "max_total_loss_pct": 10,
        "max_daily_profit_pct": 0,
        "profit_target_pct": 8,
        "profit_split": 0,
        "min_trading_days": 5,
        "max_trading_days": 30,
        "max_positions": 10
      },
      {
        "phase_index": 2,
        "phase_type": 1,
        "name": "Funded",
        "account_group": "PROP_REAL_USD",
        "duration_days": 30,
        "max_daily_loss_pct": 5,
        "max_total_loss_pct": 10,
        "max_daily_profit_pct": 5,
        "profit_target_pct": 0,
        "profit_split": 0.8,
        "min_trading_days": 0,
        "max_trading_days": 30,
        "max_positions": 10
      }
    ]
  }
}

Response Data

{
  "program": {
    "id": 1,
    "brand": "default",
    "name": "Evaluation 100K",
    "description": "Two phase evaluation",
    "price": 499.0,
    "price_currency": "USD",
    "profit_split": 0.8,
    "status": 0,
    "sort_index": 100,
    "created_time": 1778160000,
    "updated_time": 1778160000
  },
  "steps": [
    {
      "id": 1,
      "program_id": 1,
      "phase_index": 1,
      "phase_type": 0,
      "name": "Evaluation",
      "account_group": "PROP_DEMO_USD",
      "initial_balance": 100000,
      "duration_days": 30,
      "max_daily_loss_pct": 5,
      "max_total_loss_pct": 10,
      "max_daily_profit_pct": 0,
      "profit_target_pct": 8,
      "profit_split": 0,
      "min_trading_days": 5,
      "max_trading_days": 30,
      "max_positions": 10,
      "created_time": 1778160000,
      "updated_time": 1778160000
    },
    {
      "id": 2,
      "program_id": 1,
      "phase_index": 2,
      "phase_type": 1,
      "name": "Funded",
      "account_group": "PROP_REAL_USD",
      "initial_balance": 100000,
      "duration_days": 30,
      "max_daily_loss_pct": 5,
      "max_total_loss_pct": 10,
      "max_daily_profit_pct": 5,
      "profit_target_pct": 0,
      "profit_split": 0.8,
      "min_trading_days": 0,
      "max_trading_days": 30,
      "max_positions": 10,
      "created_time": 1778160000,
      "updated_time": 1778160000
    }
  ]
}