Partner Account Lock and Unlock
At a Glance
- When enabled for your organization, lock and unlock are two partner-controlled levers on a Live funded subaccount: lock holds it to closing orders only, and unlock clears an eligible lock.
- 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 — check both fields. Locks differ in severity:LiquidateOnlyModeImmediatelyand a setliquidateOnlystill allow closing orders, whileLockTradingImmediatelyandLiquidateImmediatelyreject every order.
Lock and Unlock in the Subaccount Lifecycle
A Live funded subaccount can be locked and unlocked over its life. It locks when it breaches a risk rule and auto-liquidates, holding it to closing orders only, and it’s unlocked so the trader can resume. This page covers the two partner controls for that: lock and unlock.
Some of this happens automatically: the system locks a subaccount when it breaches a risk rule and auto-liquidates, and it can unlock a risk-locked subaccount automatically when you re-grant its trading permission.
These two partner controls cover what isn’t automatic: use lock to place a payout hold the system never applies on its own, and use unlock to clear an eligible lock directly, such as reversing a payout hold 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 (RestrictedRiskRestriction) and a partner lock (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.
How to Lock and Unlock a 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 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 (Live domain), 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 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 (
RestrictedRiskRestriction), applied by auto-liquidation or a drawdown or evaluation breach, and - A partner lock (
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 reports that there’s no active lock rather than failing.
Admin Dashboard
API
- From the Admin Dashboard (Live domain), 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. Every other value, includingNormal,PlaceAutoLiqOnHold, andDisableAutoLiq, and an emptyadminAction, mean 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.