How to tell which of your accounts can trade on margin, trade options, or trade crypto before you place an order.
Get accounts returns every brokerage account you have on Public. Each trading request names the account it acts on with an accountId.
The Get accounts response describes what each account can do:
| Capability | How to detect it |
|---|---|
| Margin | brokerageAccountType is MARGIN. |
| Options | optionsLevel reports the approval level, such as LEVEL_2, or NONE. |
| Crypto | No field reports it. Placement fails with error 50154if crypto isn't enabled. |
There is currently no way to check whether an account can trade crypto without placing an order. The instrument lookup and preflight can both succeed for an account that can't trade crypto. The order is only rejected at placement, with error 50154 (crypto is not enabled for account).
Recommended
50154at placement as the authoritative signal that an account can't trade crypto, and handle it with a clear message rather than a generic failure.