Partner Account Lock and Unlock
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 thePartnerPayoutLockreason 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 200with anerrorText. A subaccount is locked when itsadminActionisLockTradingImmediately,LiquidateOnlyModeImmediately, orLiquidateImmediately, or when itsliquidateOnlytimestamp is set, so check both fields. Locks differ in severity:LiquidateOnlyModeImmediatelyand a setliquidateOnlystill allow closing orders, whileLockTradingImmediatelyandLiquidateImmediatelyreject 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.
Admin Dashboard
API
- From the Admin Dashboard on Live, click Query Builder on the left pane.
- In Repository Name, select accounts from the dropdown.
- Run the query and select the subaccounts you want to lock.
- Click Actions and select Lock (partner).
- 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.
Admin Dashboard
API
- From the Admin Dashboard on Live, click Query Builder on the left pane.
- In Repository Name, select accounts from the dropdown.
- Run the query and select the subaccounts you want to unlock.
- Click Actions and select Unlock (partner).
- 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 isLockTradingImmediately,LiquidateOnlyModeImmediately, orLiquidateImmediately. Any other value (includingNormal,PlaceAutoLiqOnHold, andDisableAutoLiq) or an emptyadminActionmeans no such lock is in place.liquidateOnly: a timestamp the risk engine sets when it holds the account to closing orders. It works independently ofadminAction: while it’s set, new orders are rejected even ifadminActionreadsNormal, 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.
Related Account Controls
Partner lock and unlock are the self-service actions for Live funded subaccounts. They’re separate from two other controls:
- Change Lock (
setAdminAutoLiqAction) is the account-lock action in Demo. For the Change Lock steps, see Lock and Halt Individual Accounts. - Manual lockouts are a trader’s self-lockout, not a partner action.