Skip to navigation

Partner Account Lock and Unlock

View as Markdown

At a Glance

  • When enabled for your organization, partner lock and partner unlock are a linked pair of controls on a Live funded subaccount: use partner lock to freeze a subaccount’s trading while you process a payout, and partner unlock to let a trader resume.
  • Locking puts the subaccount in liquidate-only mode (LiquidateOnlyModeImmediately), recorded with the PartnerPayoutLock reason code: the account can close open positions but can’t open new ones.
  • Unlocking clears a system risk lock (RestrictedRiskRestriction) or a partner lock (PartnerPayoutLock), but not compliance, anti-money-laundering, treasury, W-8, or account-closure locks.
  • Unlocking doesn’t automatically restore trading. If the condition that locked the account still applies, the risk engine re-locks it right away.
  • Confirm results from the response body, not the HTTP status: a rejected lock or unlock returns an HTTP 200 with an errorText. A subaccount is locked when its adminAction is LockTradingImmediately, LiquidateOnlyModeImmediately, or LiquidateImmediately, or when its liquidateOnly timestamp is set, so check both fields. Locks differ in severity: LiquidateOnlyModeImmediately and a set liquidateOnly still allow closing orders, while LockTradingImmediately and LiquidateImmediately reject every order.
  • When a subaccount’s trading permission is approved, the system can automatically run a requalification reset, re-anchoring the subaccount’s maximum net liquidation value (the high-water mark for its trailing drawdown) and rebuilding its risk status. This is separate from a manual unlock, and it never acts on a compliance or partner lock.

Partner Lock and Unlock in the Subaccount Lifecycle

Some locking and unlocking is automatic and needs no action from you: the system locks a subaccount when it breaches a risk rule and auto-liquidates, and it can unlock a risk-locked subaccount automatically when its trading permission is approved. Partner lock and partner unlock cover what the automation doesn’t.

Partner lock and partner unlock are a linked pair of controls an organization administrator can apply to a Live funded subaccount in their own organization. They share the same gating and the same Admin Dashboard panel, and they have opposite effects: one applies a lock, the other clears one.

Each covers a different need:

  • Use partner lock to freeze a subaccount’s trading while you process a payout. It puts the account in liquidate-only mode, so the trader can close open positions but can’t open new ones.
  • Use partner unlock to let a trader resume. It clears a system risk lock (for the cases the automatic requalification reset on trading-permission approval doesn’t cover) or it reverses a partner lock your organization set.

Locking or Unlocking in Bulk

In the Admin Dashboard, you can select multiple subaccounts and run lock or unlock on all of them at once. The action runs on every selected account, and the confirmation reports how many accounts it’s acting on.

A server rejection is reported per account, and the run continues to the next account, so one rejected account doesn’t stop the rest. Only a client-side validation error stops the run. The confirmation closes when the run finishes, even if every account was rejected, so verify the outcome by re-checking each subaccount’s adminAction rather than assuming the run succeeded.

Which Locks You Can Manage

You can unlock the two types of locks: a system risk lock (reason code RestrictedRiskRestriction) and a partner lock (reason code PartnerPayoutLock) you already set.

Compliance, anti-money-laundering, treasury, W-8, and account-closure locks are rejected, and so is a lock recorded only with the generic Other code. To resolve one of those locks, contact NinjaTrader Support.

Automatic Requalification Reset

When a subaccount’s trading permission is approved, the system checks whether the subaccount needs to requalify and, if it does, runs a requalification reset automatically. This is the automatic counterpart to a manual unlock: rather than only clearing a lock, it rebuilds the subaccount’s risk status so the trader can return to trading.

The reset re-anchors the subaccount’s maximum net liquidation value (maxNetLiq), the high-water mark its trailing drawdown is measured from, and clears the stepped cooldown and the auto-liquidation counters. On Live, it also clears emergency auto-liquidation mode.

The reset applies to an eligible subaccount: one under a system risk lock (RestrictedRiskRestriction), one the risk engine is holding to closing orders (its liquidateOnly timestamp is set), or one whose maximum net liquidation value has gone stale, such as after a fund transfer. It never resets a subaccount under a compliance, anti-money-laundering, treasury, W-8, account-closure, or partner lock.

A partner lock won’t clear automatically: the requalification reset never acts on one, so to release it, unlock it yourself.

The reset runs only when the subaccount’s current net liquidation value is within $1 of its required starting balance (the transfer amount set on the subaccount request). Outside that range, the reset is skipped and the account is handled manually, so contact NinjaTrader Support if a subaccount that should have requalified didn’t.

How to Lock and Unlock a Live Subaccount

Prerequisites

Before you start, make sure you have the following:

  • The feature enabled for your organization. NinjaTrader enables it per organization, so work with the NinjaTrader Support team to turn it on. Organization administrators can’t enable it themselves.
  • Organization administrator access.
  • The Live funded subaccounts you want to manage, which must be in your own organization.

Lock a Live Subaccount

A partner lock puts a funded subaccount in liquidate-only mode (LiquidateOnlyModeImmediately): the account can close open positions but can’t open new ones. It’s recorded with the PartnerPayoutLock reason code, which marks it as your organization’s own lock, separate from a system risk lock or a compliance lock.

A partner lock never overrides a stronger lock. The check reads the subaccount’s adminAction: if it’s already LockTradingImmediately or LiquidateImmediately, the request is rejected with Account has an existing lock - contact Tradovate. Work with NinjaTrader Support to resolve it. Locking a subaccount that’s already in liquidate-only mode has no further effect, and its response is indistinguishable from a successful lock: an HTTP 200 carrying the account’s risk status, with no errorText.

  1. From the Admin Dashboard on Live, click Query Builder on the left pane.
  2. In Repository Name, select accounts from the dropdown.
  3. Run the query and select the subaccounts you want to lock.
  4. Click Actions and select Lock (partner).
  5. Review the current lock state, add an optional reason, and click Submit.

Unlock a Live Subaccount

A partner unlock clears an eligible lock so the trader can attempt to resume. It clears two kinds of locks:

  • A system risk lock (reason code RestrictedRiskRestriction) applied by auto-liquidation or a drawdown or evaluation breach
  • A partner lock (reason code PartnerPayoutLock) that your organization set itself

It doesn’t clear compliance, anti-money-laundering, treasury, W-8, or account-closure locks. A request against one of those is rejected, and you contact NinjaTrader Support to resolve it. Unlocking a subaccount that has no active lock is also rejected, with an errorText noting there’s no active lock.

Unlocking doesn’t by itself restore trading. If the risk condition that locked the account still applies, the risk engine re-locks the account immediately, and the trader may still need trading permission and funding.
  1. From the Admin Dashboard on Live, click Query Builder on the left pane.
  2. In Repository Name, select accounts from the dropdown.
  3. Run the query and select the subaccounts you want to unlock.
  4. Click Actions and select Unlock (partner).
  5. Review the current lock state, add an optional reason, and click Submit.

After you confirm, the Admin Dashboard reports whether the unlock was submitted and repeats that unlocking alone doesn’t restore trading.

Confirming the Result

A rejected lock or unlock request doesn’t come back as an error: it returns an HTTP 200 with an errorText field explaining why, and leaves the account’s risk status unchanged.

Since a rejected lock or unlock comes back as an HTTP 200 instead of an error, check the response body for errorText rather than relying on the HTTP status. A 200 alone doesn’t confirm the action succeeded.

To confirm a subaccount’s current lock state, read the account risk status the lock and unlock responses return, or fetch it with accountRiskStatusList. Two fields carry it, and you need both:

  • adminAction: the subaccount carries an admin or partner lock when this is LockTradingImmediately, LiquidateOnlyModeImmediately, or LiquidateImmediately. Any other value (including Normal, PlaceAutoLiqOnHold, and DisableAutoLiq) or an empty adminAction means no such lock is in place.
  • liquidateOnly: a timestamp the risk engine sets when it holds the account to closing orders. It works independently of adminAction: while it’s set, new orders are rejected even if adminAction reads Normal, and a partner unlock doesn’t clear it.

The reason codes that identify where a lock came from (PartnerPayoutLock, RestrictedRiskRestriction, and the compliance codes) are recorded with the action and visible in the Admin Dashboard, but the API doesn’t return them, so you can’t use them to determine lock state.

Partner lock and unlock are the self-service actions for Live funded subaccounts. They’re separate from two other controls: