Alpaca Paper Account Positions Wiped

Environment

Language
Python 3.12.3

Alpaca SDK Version
alpaca-trade-api v3.2.0

Other Environment Details
Detail | Value
OS | Ubuntu 24.04.4 LTS (Noble Numbat)
Kernel | Linux 6.8.0-134-generic
Host | srv1621471 (Hostinger KVM2 VPS)
API Base | https://paper-api.alpaca.markets
SDK Location | /usr/local/lib/python3.12/dist-packages
SDK Dependencies | aiohttp, deprecation, msgpack, numpy, pandas, PyYAML, requests, urllib3, websocket-client, websocke

Problem

Summary
On July 6: Paper account held 26 positions, ~$115K equity.
On July 7 at market open (~13:30 UTC): Positions API returned only 3 positions (ARM, DOCU, V — all shorts). 23 positions vanished with no sell orders, no liquidation records, no account activity.

The last_equity field shows $115,276.04 vs current equity $24,726.65 — the account “remembers” the higher balance.

Paper or Live Trading?
Paper - PA3VTK6DNR6E

Example Code
Reproduction Script

'#!/usr/bin/env python3

“”"
Reproduces the Alpaca paper account position disappearance.
Run this after market open to verify positions API vs expected holdings.
“”"

from alpaca_trade_api import REST
import os

— CONFIG —

API_KEY = “YOUR_KEY”
API_SECRET = “YOUR_SECRET”
BASE_URL = “https://paper-api.alpaca.markets” # Paper trading

— REPRO —

api = REST(API_KEY, API_SECRET, BASE_URL)

account = api.get_account()
positions = api.list_positions()

print(f"Account Equity: ${float(account.equity):,.2f}“)
print(f"Last Equity: ${float(account.last_equity):,.2f}”)
print(f"Divergence: ${float(account.last_equity) - float(account.equity):,.2f}“)
print(f"Positions count: {len(positions)}”)
print()

for p in positions:
print(f" {p.symbol}: qty={p.qty}, avg_entry=${p.avg_entry_price}, mkt_val=${p.market_value}")’

Expected vs Actual

Expected (July 6 close): 26 positions, ~$115K equity
Actual (July 7 13:30 UTC): 3 positions, ~$24K equity

The Bug in Our Code
The issue is in clawtrader.py:3534-3537 — we blindly overwrite local state with Alpaca’s positions:

state_data = self.state.load()
state_data[“positions”] = {sym: {“qty”: pos.qty, …} for sym, pos in positions.items()}
self.state.save(state_data) # ← wipes 23 positions without validation

No validation: We don’t check if position count dropped >50%, or if equity diverged >20%. We just trust the API and overwrite.

I just created a community account to find out if this happened to anyone else.
I have had a few of these accounts for 6 months and my equity was completely decimated and my positions closed. I would have to start a new paper trading account just to get my bots back up and running.

6 months of research killed in 1 minute.

What is going on with Alpaca today?

This incident killed my research accounts without hesitation. :smiling_face_with_tear:

Glad to see Im not the only one.

Account: PA3W9ZRUGRAC (paper)
Date: 2026-07-07

At ~9:25–9:30 AM ET, 16 equity positions (~$37,600 market value) were deleted
from my paper account with NO corresponding orders, fills, journals, or any
entries in GET /v2/account/activities.

- Positions confirmed present via API (GET /v2/positions) at 9:24:42–9:25:01 ET
- First post-open equity tick (9:30 ET) already reflected their removal
  (equity $198,109 -> $160,521, exactly the positions' value — no cash proceeds)
- Symbols: ABNB, BAC(partial), CRL(partial), DHI, EA, EXR, GE(partial),
  JPM, MAS, MTCH, NBIX(partial), SPG(partial), SYF, UAL, UNH, VNO, XYZ
- Consequence: pre-open DAY sell orders (trims) and GTC stops filled into the
  emptied account, creating unintended short positions (since covered).

I trade with a live account as well. I suspended my trading on that account effective immediately, until Alpaca can tell me why their systems just wiped my paper accounts.

Pls tell me others haven’t had issue like this on the live brokerage side of Alpaca.

Same thing here opened an forum account just to post this. About 21 stock positions gone overnight (July 6 close to July 7 morning). No sell orders, nothing in account activities, cash unchanged, equity just dropped by exactly what the positions were worth. Positions opened after the wipe show up fine; everything before is gone, including half of one symbol (older lot vanished, newer lot still there).

Also echoing the warning above: my GTC sell orders against the wiped positions are still sitting open, so check your open orders before anything fills into an empty account and shorts you.

Looks like a repeat of the Nov 2025 crypto incident (topic 18104), that one was a broken internal sync job and positions were restored server-side. Hoping Alpaca can confirm and do the same here.

The same thing happened here. Our research paper trading accounts show $100 as value, but portfolio history ticks on. I wonder if this is a temporary issue?

I was able to cancel one of my remaining open GTC order. I am curious if we should cancel all orphaned GTC orders, or if Alpaca restores the positions and equity, will this now expose those restored positions, by having no GTC for them… anyone want to guess?

Hello, I am about to open a ticket also, because on 6/7, I lost 17 shares of an order that did not fill and it expired. Alpaca DID NOT RETURN the 17 shares to my account.

My guess, keep them. If Alpaca restores the positions like they did after the Nov crypto incident, your GTC orders just start working again, but if you cancelled them, the restored positions come back with no exits at all and you have to notice and re-place everything yourself.

Don’t quote me on this but as long as its a paper trading account, the only ones I’d cancel are stops or anything close to the current price, since those can actually fill into an empty account and short you (which sounds like what happened above). A take-profit limit way above the market can’t fill, so it’s not hurting anything sitting there.

I had multiple accounts experience a similar issue beginning around 10:05 - 10:10am ET.

Where is Alpaca on this???

Has anyone received a response?

exact same issue here. has anyone got a solution? are we going to just have to restart accounts?

I received the following support response

We are currently experiencing an outage relating to our paper environment for our Trading API product. As such, you may see your paper orders rejecting and incorrect account balances.

We are diligently and urgently working on resolving this issue and we apologise for any frustration this may cause. We will update all users once this has been resolved.

I’m having the same issue. I’m going to give them time to fix it, I think restarting your account will just make the issue worse. Unless they deleted their whole database, they should be able to put everything back

Yes, this very concerning to say the least.

I have multiple paper accounts and all active positions on all accounts disappeared without a trace. Has anyone worked with IBKR? I just have this feeling that Alpaca is not an appropriate place to move any serious capital long term. There’s no one to call when something goes wrong, I can only imagine the nightmare of having your live account wiped like this, no email, warning or explanation, and having to scour forums because there’s no one at Alpaca who can help.

All my positions just got restored on my paper trading account it seems to have been a sync issue. Good luck everyone

The issue on Nov 5th was a warning. I’m now actively looking at what it will take to convert and migrate IBKR.

I understand there will always be bugs but the coms are unacceptable and unprofessional. This should have been flagged immediately and trading halted.

I just looked it up, thanks for letting me know. Granted, none of this happened to their live trading accounts, but coms are important. Looks the the issue has been resolved: I like what Alpaca is doing, the reality is that problems like this can spook capital.

I believe it happens with paper accounts.When you reset your balance