Connect Charles Schwab to Nyria
Connect Charles Schwab by signing in, choose the account a bot trades, and reconnect when Schwab shows Disconnected.
Watch the setup
3:16To connect Charles Schwab, select its card on the Integrations page, choose Connect live account, sign in at schwab.com and select Allow. Nyria then imports every account on that login, and you pick one when you deploy a bot. Schwab ends access every 7 days, so you sign in again to reconnect.
Schwab is live only. Test your strategy on paper first.
Prerequisites
You need:
- An active Charles Schwab brokerage account in good standing. New accounts can take 1–3 business days to be eligible for API access after funding clears.
- Options approval at the level your trades need. See Account not approved for options.
- Margin enabled to trade short stock or short option spreads. Cash accounts cannot hold short positions.
- A Nyria account. Connecting Schwab is free. A bot on it needs a Nyria Pro plan, or access to a Premium strategy you've bought. See pricing and limits.
- Time to sign in to Schwab again every 7 days. Schwab requires it.
You don't need a Schwab developer account. Sign in to Schwab as usual.

Step 1: Find Schwab on Integrations
Sign in to Nyria and select Integrations in the left sidebar.
Select the Charles Schwab card in the Brokers grid.
Step 2: Sign in to Schwab
Select Connect live account in the modal. Nyria sends you to
Schwab's login page. Before you type anything, check that the
address bar shows schwab.com.
Sign in with your Schwab username and password, and complete 2FA if you have it on.
On the Authorize App screen, Nyria asks to read your account data and positions and to place and cancel orders. Select Allow.
Schwab returns you to Nyria, which shows Charles Schwab connected with the number of accounts added.
If Schwab shows an error instead, see common errors.
Step 3: Choose the account a bot trades
Nyria imports every account on your Schwab login. When you deploy a bot, pick one on the Account step. To run the same strategy on a second account, deploy a second bot.
IRAs and other retirement accounts cannot hold short stock positions or short naked options. If you deploy a bot to a retirement account, restrict its strategy to long-only or to defined-risk spreads.
Common errors and fixes
Schwab shows Disconnected
Schwab ends Nyria's access every 7 days, and any other time it wants you to sign in again. Bots on the connection place no orders until you reconnect.
To reconnect:
Open Integrations, select the Charles Schwab card, and select Reconnect live account.
Sign in at Schwab again, as in step 2.
Your bots trade again from the next alert.
Keep Brokers notifications on to hear when a connection disconnects.
Insufficient buying power
Schwab rejected the order because it would exceed your available cash and margin. The usual reasons:
- Credit spread sizing: Schwab reserves the max loss (width − credit) as buying power. A 5-wide SPY put credit spread sold for $1.00 reserves $400 per contract.
- Unsettled funds: in a cash account, Schwab can reject the sale of a position bought with unsettled funds. For that reason, or another that clears by itself such as a Schwab outage, Nyria re-sends that close once, after re-checking the position at Schwab.
- Day-trade buying power used up in a pattern day trader account.
Lower the bot's budget per entry, or wait for funds to settle, then send the alert again.
Invalid option symbol
The strike or expiry Nyria built isn't on Schwab's option chain. This happens when:
- The strike rounded to a value Schwab doesn't list, such as a
$0.50increment on a stock that only lists $1 strikes. - The expiry is a non-standard date Schwab doesn't carry.
- Schwab hasn't listed that weekly expiration yet. Listings can lag by a day.
Change the leg's strike or DTE rule on the strategy, or the contract in the alert.
Account not approved for options
Your Schwab options level is too low for the order Nyria tried to place. Each level allows:
- Level 1: long calls and long puts
- Level 2: Level 1 + covered calls + cash-secured puts + long spreads
- Level 3: Level 2 + short spreads + uncovered short index options
- Level 4: Level 3 + uncovered short equity options
Apply for a higher level in Schwab's client portal under Service → Account Settings → Trading & Margin → Options. Approval usually takes 1–2 business days.
Schwab says access denied
You selected Deny, or closed the tab, on Schwab's authorization screen. Start again from step 1 and select Allow.
Schwab sign-in error
Schwab's sign-in failed. Try again in a few minutes. If it keeps failing, email contact@nyria.io.
What this connection doesn't do
Nyria doesn't trade futures or crypto on Schwab. For spot crypto, use tastytrade or Alpaca.
Related
- Schwab: what it trades, and its limitations.
- Webhook reference: every field Nyria reads, including the
legsarray for multi-leg option orders. - Options: how Nyria models single legs and spreads.
- Quick start: the end-to-end first-strategy walkthrough.
- Troubleshooting: broker, alert and bot errors.
