A comparison of LLM trading agents, the brokers they connect to, and the tax work they leave behind, September 2026. Research, not financial or tax advice.
The recommendations
Use an LLM to research, never to decide a trade on its own. Build and paper trade on Alpaca; put real money at Interactive Brokers. Keep every limit, and the tax-lot record, in plain code the model cannot touch.
| Need | Recommendation | Why |
|---|---|---|
| Research | TradingAgents v0.5.0, the upstream project, run daily over a watchlist | The best-built research pipeline, with filings as first filed; it places no orders by design |
| Who decides a trade | Fixed rules in plain code; the LLM only proposes | No LLM trader has a record of beating the index, and news can be written to steer one |
| Broker for real money | Interactive Brokers | Rated A- by S&P, self-clearing, $10.6B of net capital, no payment for order flow, broker-side order limits, specific-lot tax control |
| Where to build and paper trade | Alpaca | Free paper account by default, a plain REST API and an official agent connection; its outages and duplicate fills in 2026 cost nothing on paper |
| If you want only one broker | Interactive Brokers | Its own paper account is the most realistic one available; the costs are a gateway process, a weekly login and per-order commissions |
| Execution software | Lumibot or QuantConnect LEAN, behind a small gate and executor you write | Both drive Alpaca and Interactive Brokers, so moving to live money is a configuration change |
| Tax-loss harvesting and tax input | One dedicated taxable account, tickers no other household account holds, an own lot ledger with a 31-day blackout; cross-check in TradeLog or Form8949.com | The broker’s 1099-B only catches wash sales inside one account |
| Crypto | Spot bitcoin and ether ETFs in the same account | One tax form, and no exchange keys to lose |
| Avoid | AlpacaTradingAgent with real money; Robinhood’s agent trading left unattended; hosted bots that hold exchange keys; Hyperliquid from the US | Fail-open code, no paper mode, custody of keys, and a venue that bars US persons |
The reasoning for each line is below: the agents, the evidence, which brokers have an API, four finalists side by side and Interactive Brokers against Alpaca in detail, the tax work, crypto, and how to run it live.
Problem statement
Find an agent stack that can research stocks, paper trade, and then trade live on its own, while keeping tax input simple enough to file without a week of spreadsheet work. Stocks come first; crypto is a second sleeve.
Requirements, in priority order:
- A proven, secure platform. The broker holding the money needs a long track record, real capital behind it, protection beyond the SIPC minimum, and an enforcement history that is procedural rather than a pattern of losing customer assets.
- Stock research — an agent that reads filings, prices and news and argues both sides before it recommends anything.
- Paper trading that behaves like the live account, so a result on paper means something.
- Automatic live trading, with limits the software cannot talk its way past.
- Tax-loss harvesting and easy tax input — lot-level control, few wash sales, and a 1099 that imports cleanly.
- Crypto as a smaller, second sleeve.
Two projects prompted the question: TradingAgents from Tauric Research and AlpacaTradingAgent, which wires a copy of it to a brokerage.
Key finding: neither is a trading system, and the evidence says an LLM should not be the thing that decides each trade. TradingAgents is a very good research generator with no broker, no paper account and no tax logic by design. AlpacaTradingAgent adds a broker but not the engineering a live account needs. Two things changed in 2026 that make a sound stack buildable anyway: brokers started shipping their own agent connections, and FINRA retired the $25,000 pattern-day-trader rule. The shape that survives the evidence is an LLM that proposes, deterministic code that disposes, a proven broker underneath, and a tax-lot ledger the agent keeps itself.
The two named projects
| TradingAgents | AlpacaTradingAgent | |
|---|---|---|
| What it is | Multi-agent research pipeline (LangGraph) | A copy of TradingAgents plus Alpaca orders and a web UI |
| GitHub (2026-09-19) | 107,574 stars · 20,576 forks | 269 stars · 96 forks |
| Releases | v0.5.0, 2026-09-18; ten releases in 2026 | None; main is the product |
| Maintainers | One person wrote 290 of 347 commits | One owner, plus one two-day burst of 16 outside PRs |
| Places orders | No — refuses to (every Alpaca PR closed) | Yes: Alpaca, paper or live, market orders only |
| Paper trading | No | Yes, Alpaca’s paper account (the default) |
| Tax features | None | None |
| Crypto | Analysis of BTC/ETH via Yahoo prices | Alpaca crypto pairs, notional market orders |
| Licence | Apache-2.0 | Apache-2.0 (same file) |
| Verdict | Use as the research layer | Paper sandbox at most; not with real money |
TradingAgents
The design reads like an investment firm’s org chart. Four analysts run in turn — technical (indicators computed from prices), sentiment (Yahoo news, StockTwits, Reddit), news and macro, and fundamentals (since v0.5.0, SEC EDGAR filings as first filed, so a historical run cannot see a later restatement). A bull and a bear researcher then debate for one to five rounds, a research manager writes a plan, a trader proposes an entry and a stop, three risk personas (aggressive, neutral, conservative) argue again, and a portfolio manager issues a five-tier rating with a price target. A decision log records each call and, on the next run for the same ticker, scores it against SPY over five days and feeds a short reflection back to the portfolio manager.
It is a strong research tool and an honest one: the code says in plain words that the backtest module “is not a portfolio simulator, and must not grow one”, because turning a rating into a fill needs a quantity, a price and a cash ledger that the system does not have. It supports fifteen model providers including local models through Ollama or any OpenAI-compatible server. Each run makes 16–22 LLM calls with almost no prompt-cache reuse (the date and ticker sit in the system prompts), and the maintainers have declined both a spend cap and dollar accounting, so cost has to be metered from outside.
The paper behind it (arXiv 2412.20138) reported 26.6% on AAPL over the first quarter of 2024 with a Sharpe ratio of 8.21, against −5.2% for buy-and-hold; the authors’ own footnote says the Sharpe “exceeds our expected empirical range”. The test covered three stocks for about sixty trading days, one run each, with no costs or slippage. It has not survived contact with other people:
- A user re-ran AAPL over the same window (issue #168) and got −25.4% against −7.6% for buy-and-hold, with commissions eating $1,838 of a $10,000 account. The evaluation code and dataset were never released.
- An independent one-year run across 2025 (The Alpha Illusion, arXiv 2605.16895) turned $100,000 into $106,400 before costs and $102,300 after, against $104,800 for buy-and-hold.
- Look-ahead leaks — future data reaching past decisions — were found and fixed in four releases during 2026 (v0.2.3, v0.3.1, v0.4.0, v0.5.0), so every backtest run on an earlier version was contaminated.
Two smaller cautions: the package called tradingagents on PyPI was uploaded
by an unrelated account, so install from source; and the CLI fetches an
announcements feed from Tauric’s server at start-up.
AlpacaTradingAgent
This is the most-starred public project that connects the TradingAgents debate to a real broker — and it is not a GitHub fork but a copy that split from upstream on 2025-07-03 and never merged back. It therefore lacks upstream’s look-ahead fixes from v0.3.1 on and the filed-fundamentals source; its fundamentals come from an OpenAI web-search summary, and it needs an OpenAI key even when another provider does the reasoning.
What it adds is real: a paper/live switch, bracket stop-and-target orders on stocks since July 2026, a Dash web UI with positions and a scheduler, and a safety layer with a $25,000 per-order cap, a 25% per-symbol cap, halts at a 10% daily loss or 15% drawdown, and a file-based kill switch. Reading the code turned up the reasons not to give it money:
- The live path is five months old.
paper=Truewas hard-coded until an outside contributor fixed it on 2026-04-11. - The web UI has no login, sends every key in
.env(the broker key and secret included) to the browser on page load, and stores typed keys in plain text in browser storage. A browser whose saved setting says “live” overrides a server configured for paper. - Several layers fail open: sizing errors keep the full order amount, a rejected bracket order falls back to an unprotected market order, and the circuit breakers skip when account equity can’t be read.
- The scheduler’s loop mode ignores market hours, and its holiday calendar is a hard-coded list for 2024–2027.
- The only published performance claim anywhere is the author’s own: one week of paper trading on one stock, +2.7% against the stock’s +2.0%.
The wider field
Nothing else in open source closes the loop either. The research projects research; the execution frameworks execute; the new piece in 2026 is brokers offering an agent connection of their own, over the Model Context Protocol (MCP) that Claude, ChatGPT and most agent tools speak.
| Project | Kind | Trades? | Licence · stars | Fit |
|---|---|---|---|---|
| ai-hedge-fund | LLM “investor personas” | No; simulated only | MIT · 63.5k | Research sidecar; “not intended for real trading” |
| FinRobot | Equity-research report agents | No | Apache-2.0 · 8.0k | Research |
| FinRL-X | ML and reinforcement learning, not an LLM | Alpaca paper and live | Apache-2.0 · 3.7k | Author-reported paper result only |
| Qlib + RD-Agent | LLM writes factors, Qlib tests them | No | MIT · 48.7k / 14.7k | The credible “LLM does quant R&D” pattern |
| OpenBB | Data platform and research copilot | No | AGPL-3.0 · 73.2k | The company is winding down (August 2026) |
| Lumibot | Python trading framework | Alpaca, IBKR, Schwab, Tradier, crypto | GPL-3.0 · 2.1k | Agent decisions replayable in backtests |
| QuantConnect LEAN | Backtest and live engine, AI assistant | 15+ brokers | Apache-2.0 · 21.7k | Most disciplined path to live; cloud nodes are paid |
| NautilusTrader | Rust-core event engine | IBKR plus crypto venues | LGPL-3.0 · 29.1k | Stocks and crypto in one engine; steep |
| Composer | Hosted rules engine with AI authoring | Yes, via Alpaca | Commercial, $0–32/mo | Lowest effort; strategies are fixed rules |
Broker-side agent connections, the execution layer that arrived this year:
| Connection | Official | Paper | Controls | Tax lots |
|---|---|---|---|---|
| Alpaca MCP v2 | Yes | Default; one flag to go live | Toolset filtering | Not exposed |
| Robinhood Agentic Trading | Yes, beta since 2026-05-27 | None documented | Separate agent account, optional review | Not documented |
| Public MCP | Yes | None found | Preflight cost check | Per-lot view and lot-specific sells |
| tastytrade MCP | Yes | Sandbox is not realistic | Read-only mode; $50,000 order cap; dry run first | Not found |
| Interactive Brokers AI connector | Yes | — | Drafts orders for a human to submit | Via Tax Optimizer |
| Webull OpenAPI and MCP | Yes | Yes, since July 2026 | IP allowlist, 2FA | Not verified |
Robinhood’s terms deserve a direct quote: it “does not control, supervise, monitor … or audit these AI agents”, and the customer carries the losses. Nearly 100,000 agent accounts had opened by the end of June.
Does an LLM trader make money?
This is the question the whole stack rests on, and the evidence is now large enough to answer it.
| Test | Kind | Result | Benchmark, same window |
|---|---|---|---|
| Alpha Arena S1, Oct–Nov 2025 | Real money, crypto perpetuals, six models | Two gained (+22%, +5%); four lost 42–59% | BTC −0.6% |
| Alpha Arena S1.5, Nov–Dec 2025 | Real money, US stocks | One model clearly profitable (+12%) | SPY +3.2% |
| FINSABER (KDD 2026) | 20-year backtest, 100+ symbols | Published LLM agents trail buy-and-hold on Sharpe | Buy-and-hold 0.32 to 0.70; agents −0.25 to 0.24 |
| StockBench | Clean window, Mar–Jun 2025 | Best models +1.9% to +2.5% | Equal-weight +0.4%; DIA +2.6% |
| LiveTradeBench | 50 live days, 2025 | Best stock model +6.25% | SPY +5.57% |
| CLQT (2026) | Cost-aware, with a live paper track | ”Do not cleanly beat the index” | — |
| LIVR ETF | Real fund run by an LLM committee | +23.5%, Sep 2024 – Jan 2026 | SPY +25.5% |
Alpha Arena results come from secondary reports that disagree on the size of the losses, not on their direction. The index comparisons for LiveTradeBench and LIVR are computed from Yahoo closing prices, since the sources give none.
Two further findings explain why the impressive numbers keep evaporating. Models remember the market: they recall exact prices up to their training cutoff, and telling them to ignore it does not work (Lopez-Lira et al.); a 2026 audit found a model’s real cutoff can sit eight months earlier than its vendor states (HindsightBench). Any backtest over a period the model may have read about is suspect, and a 2026 paper argues that no passive backtest can separate that leak from genuine skill (Zhang & Stadie). And short samples prove little: from daily returns, the 95% range on a Sharpe ratio is about ±2 divided by the square root of the years observed, so telling a true Sharpe of 1.0 apart from zero takes close to four years.
What the evidence does support is narrower and still useful: LLMs are good at reading, summarising and arguing about filings and news, and good at writing strategy code that a deterministic engine then tests and runs. Using them as the per-trade decision maker is the part with no record.
The brokers
A bot needs three things from a broker before anything else matters: an API an individual is allowed to use, a way to test without money, and a login that does not need a person every day. Then the requirement at the top of the list decides it: a secure, proven platform. All figures were read from FINRA BrokerCheck, SEC filings and the brokers’ own pages on 2026-09-19.
Which brokers have an API
| Broker | API for individuals | What it is | Paper trading through it | The catch for a bot |
|---|---|---|---|---|
| Interactive Brokers | Yes | TWS API (a socket to its desktop app or headless gateway) and a Web API | Yes, a $1M paper account | Needs a funded Pro account, a gateway process, and a login with 2FA every week |
| Alpaca | Yes — the API is the product | REST and WebSocket with a key and secret; official MCP server | Yes, the default | Keys cannot be scoped or limited to an IP address |
| Charles Schwab | Yes | Schwab Trader API: REST and streaming, OAuth; each app is approved by hand | No | A person must log in again every 7 days; stocks and options only |
| E*TRADE | Yes | REST with OAuth 1.0a | Sandbox only | A person must log in every day |
| Public | Yes, since June 2025 | REST, secret key exchanged for 15-minute tokens; official MCP server | No | Young API; clears through Apex |
| Webull | Yes, after approval ($100 minimum) | OpenAPI over HTTP, MQTT and gRPC; MCP | Yes, since July 2026 | Clears through Apex |
| tastytrade | Yes | REST with OAuth2, including a read-only scope; official MCP server | Sandbox, not realistic (market orders fill at $1) | Clears through Apex |
| TradeStation | Yes, with a $10,000 balance | REST with scoped OAuth2 | Simulator with instant fills | Key issued by email request |
| Tradier | Yes | REST; personal token that never expires; hosted MCP | Sandbox with 15-minute-delayed data | A small firm ($6.7M net capital) |
| moomoo | Yes | OpenD gateway with SDKs in five languages | Yes | Parent faces a pending Chinese penalty of about $271M |
| Robinhood | Stocks: only through its AI-agent connection; crypto: yes | Agentic Trading over MCP for named AI apps; a separate crypto REST API | No | No general stock API; the heaviest regulatory record here |
| Fidelity, Vanguard, Merrill | No public trading API found | — | — | Screen-scraping tools exist; fragile and likely against the terms |
| SoFi, Firstrade | No | — | — | — |
| Ally Invest | Discontinued | — | — | Its API host no longer resolves |
So the answer to “does Schwab have an API” is yes, and it is a real one — but a bot on Schwab has no paper account to learn on and stops working every seventh day until someone logs in again. Among the big, long-established firms, only Interactive Brokers offers both an API and a paper account that fills the way the market does.
Track record
| Broker | Broker-dealer since | Scale and capital | Excess SIPC per customer | Largest actions, 2020–2026 |
|---|---|---|---|---|
| Interactive Brokers | Roots in 1978; public since 2007 (Nasdaq: IBKR) | $930B customer equity; $10.6B net capital; S&P A- | $30M ($900k cash) | $38M AML (2020); $55M off-channel records (2023); $11.8M OFAC (2025) |
| Charles Schwab | 1971 (NYSE: SCHW) | $13.4T client assets; $13.2B net capital | $600M aggregate | $187M robo-adviser cash (2022); $10M off-channel (2025) |
| E*TRADE (Morgan Stanley) | Now inside Morgan Stanley’s broker | Morgan Stanley | Not checked | $35M unencrypted customer data (2022); $15M supervision (2024) |
| Robinhood | 2012; self-clearing since 2018 | $369B platform assets | $50M ($1.9M cash) | $65M SEC (2020); $70M FINRA (2021); $45M SEC (2025); $29.75M FINRA (2025) |
| Alpaca | 2018 (company founded 2015) | $357M net capital (June 2026, including a $140M loan from its parent); self-clearing | $75M securities + $75M cash | $400k SEC records (2024); $300k FINRA late trade reports (2026) |
| TradeStation | 1995 (Monex Group) | $232M net capital; self-clearing | None found | $425k identity-theft programme (2022); $1.1M OFAC (2026) |
| Webull | 2017 (Nasdaq: BULL) | $28.5B customer assets; clears via Apex | Apex policy | $3M options approvals (2023); $1.6M (2025) |
| tastytrade | 2017 (IG Group) | Clears via Apex | Apex policy | $850k best execution (2026) |
| Public | 2019 brand on a 2003 firm | $8.5M net capital; clears via Apex | Apex policy | $500k securities lending, $500k best execution (2023) |
| Tradier | 1993 firm, renamed 2013 | $6.7M net capital; clears via Apex | Apex policy | $75k omitted platform complaints (2026) |
Apex Clearing’s excess SIPC is $37.5M in securities and $900k in cash per customer, $150M in aggregate. Schwab’s per-customer figure could not be confirmed from Schwab’s own page.
The ranking on proof is not close. Interactive Brokers and Schwab are public, self-clearing, and backed by capital measured in billions; their fines are large but procedural, not a pattern of losing customer assets. Robinhood is enormous and has the heaviest record in the group, including a 2021 breach that reached about seven million people.
Four finalists side by side
Of the brokers with a usable API, four deserve a close look: Interactive Brokers (the most proven firm with a full API), Alpaca (built for bots), Schwab (the largest firm with an API), and Public (the only one that lets an API pick tax lots per order).
| Interactive Brokers | Alpaca | Schwab | Public | |
|---|---|---|---|---|
| Counterparty | S&P A-; $10.6B net capital; self-clearing | $357M net capital; self-clearing; venture-funded | $13.2B net capital; self-clearing | $8.5M net capital; clears via Apex |
| Stock commissions | $0.35–1 minimum per order; $0.0035–0.005 a share | $0 | $0 | $0 |
| Payment for order flow | None on its Pro plan | Yes: $24.7M in 2025 | Yes | Yes, unless you pay $0.003 a share for another route |
| US quotes through the API | About $5–15 a month; the $10 bundle is waived above $30 of commissions | Free from IEX alone (about 2.5% of volume); $99 a month for the full market | Included, with streaming | Not checked; no streaming |
| Interest on idle cash | 3.38% above the first $10,000 (scaled down under $100,000) | 3.56% FDIC sweep | 0.01% | 3.30%, in a separate account |
| Margin rate, smallest tier | 5.38% | 6.25% | 12.08% | 5.15% |
| Login for a bot | A gateway process; 2FA every week | Key and secret; never expires | Browser login every 7 days | Secret key mints 15-minute tokens |
| Paper trading | Yes, top-of-book fills, $1M | Yes, the default | No | No |
| Broker-side safety | Mandatory 2FA, trusted IPs, order-size limits, login IP allow-list | No key scopes, no IP allowlist, no expiry | None found | None documented |
| Tax lot per order through the API | No; the Tax Optimizer sets it the same day | No; FIFO only | Field exists; not confirmed to work | Yes, “not guaranteed” |
| Trading incidents in 2026 | None major found | 35 affecting trading, two with duplicate executions | Login and app outages reported | None found; no status page |
| Also offers | Options, futures, forex, bonds, 40 countries, six IRA types | Options, crypto, 24/5, fractional shares, IRAs since May 2026 | Options, fractional shares, IRAs | Options, bonds, crypto, 24/5, IRAs with a 1% match |
Rates are as published on 2026-09-19 and move with the Fed; Alpaca’s sweep rate takes effect on 22 September. Alpaca’s incident count is from its own status page, 1 January to 18 September.
Interactive Brokers against Alpaca
The two recommended brokers are close to opposites, and the differences are the useful part.
Who you are trusting. Interactive Brokers has been trading since 1978, has been public since 2007, is rated A- by S&P, and holds $10.6B of net capital; when the NYSE’s systems failed on the morning of 3 June 2024 it took a $48M loss on its customers’ positions rather than pass it on. Its fines are about supervision, money laundering and sanctions screening. Alpaca is a venture-backed company valued at $1.15B in January 2026; its net capital more than tripled in the first half of 2026, $140M of it a loan from its parent, and one of its Series D investors, Citadel Securities, is also the largest buyer of its customers’ order flow.
What it costs. Alpaca charges no commission; Interactive Brokers charges per share with a minimum per order, so the gap grows with the number of small orders:
| Example bot, 252 trading days | Interactive Brokers commissions | Alpaca commissions | Regulatory fees, either broker |
|---|---|---|---|
| 2 trades a day, 50 shares at $100 | $151–504 | $0 | about $30 |
| 10 trades a day, 100 shares at $50 | $631–2,520 | $0 | about $155 |
| 40 trades a day, 20 shares at $200 | $3,329–10,080 | $0 | about $440 |
The Interactive Brokers range runs from its tiered plan with resting limit orders to its fixed plan, and every one of these orders pays the per-order minimum. But “free” has costs of its own. Alpaca is paid for routing orders to market makers ($24.7M in 2025, across all its customers); Interactive Brokers’ Pro plan is not. Alpaca’s free data is the IEX exchange alone, about 2.5% of US volume, which is thin for setting limit prices; the full feed is $99 a month. And Alpaca reprices accounts it flags as “non-retail” — more than $200,000 of trading a day is one flag — at $0.004 a share. On idle cash, Alpaca pays 3.56% from the first dollar; Interactive Brokers pays 3.38% above $10,000, scaled down for accounts under $100,000.
Keeping it running. Alpaca is a key, a secret and a REST call; nothing has to stay logged in. Interactive Brokers needs its Java gateway running, resets it every night, and asks for a two-factor login every week. The standard tool for automating that, IBC, was retired and archived on 1 September 2026; a young successor answers the weekly prompt only if an authenticator seed is stored on the bot’s own machine — the machine you most want hardened. Alpaca’s cost is on the other side of the ledger: 35 incidents affected trading on its platform between January and mid-September 2026, including stuck orders for more than three hours on 12 March and two events in which orders filled twice (overnight fractional orders on 21 May, and an order-system reset on the night of 3 August, both corrected afterwards). It also removed the old day-trading fields from its API in July with little warning, which crashed older versions of its own Python library. A bot on Alpaca must reconcile its positions against the broker’s constantly and treat a duplicate fill as a normal event.
Testing on paper. Interactive Brokers’ paper account fills against the top of the real order book, using the same market-data subscriptions as the live account. Alpaca’s paper account fills against the full-market quote even when the bot can only see IEX, never checks whether that much stock was on offer, has no queue position for limit orders, and skips dividends and fees; starting over means deleting the account and issuing new keys. Alpaca is the easier place to build; Interactive Brokers is the more honest place to test.
Security. Interactive Brokers requires two-factor login for everyone,
limits API connections to trusted IP addresses, flags API orders beyond size
and value limits, and ties daily withdrawal limits to the strength of
the login. An Alpaca trading key cannot move cash out, but it cannot be scoped,
restricted to an address or set to expire, and it can switch off the account’s
own guardrails (suspend_trade, no_shorting, the margin multiplier) and add
crypto withdrawal addresses. One user reported on Alpaca’s forum in May 2026
that $2,000 left their account exactly that way; the cause was not
established. A key that can undo the limits is a key the model’s process must
never hold.
Tax. Interactive Brokers offers eight lot-matching methods, including specific lots through its Tax Optimizer, changeable until 8:30 PM Eastern on the trade date, though not per order through the API; its 2025 1099 arrived on 20 February. Alpaca matches every sale first-in, first-out with no way to choose, and its 2025 forms came about a month late, in mid-March, after an upgrade to its cost-basis systems. Both import into TurboTax.
Room to grow. Interactive Brokers adds options, futures, forex, bonds, overnight trading on more than 10,000 US stocks, markets in 40 countries and six kinds of IRA. Alpaca covers US stocks, ETFs and options, crypto in the same API, fractional shares through the API (Interactive Brokers refuses them there), 24/5 trading, and IRAs since May 2026; its individual taxable accounts are margin accounts only.
Which to choose when.
- Real money, or a strategy that may grow into options, futures or an IRA: Interactive Brokers.
- Building, paper trading, or small and very frequent orders, where the per-order minimum would dominate: Alpaca, with the full data feed.
- Already at Schwab, and willing to log in weekly and paper trade elsewhere: Schwab’s API works for live trading.
- Per-order control of tax lots above everything else: Public, after paper trading elsewhere, and knowing it is a small firm that clears through Apex.
The rulebook moved too. The SEC approved FINRA’s replacement for the pattern-day-trader rule on 2026-04-14; since 2026-06-04 an intraday margin standard applies instead of the day-trade count and the $25,000 minimum, with brokers allowed to phase it in until 2027-10-20. Alpaca switched on day one and removed the old day-trading fields from its API by July, which quietly breaks bots written against them. Cash accounts still live under settlement rules, so a cash-account bot must size from settled cash, not buying power.
Taxes: harvesting and filing
Automation’s hidden cost lands in April. The mechanics:
- Capital losses offset gains, then up to $3,000 a year of ordinary income; the rest carries forward.
- A loss is washed — disallowed and added to the replacement’s cost — if substantially identical stock is bought within 30 days before or after the sale, in any account the taxpayer or a spouse controls. If the replacement lands in an IRA, the loss is gone for good (Rev. Rul. 2008-5).
- A bot that trades the same tickers repeatedly almost always has a buy inside that window, so losses roll forward lot to lot. If the last lot is still open on 31 December, a year that lost money can show a taxable gain.
The broker’s 1099-B only has to report a wash sale when both trades are in the same account, in the same security (box 1g of the 1099-B instructions). Everything across accounts, brokers, spouses and IRAs is the filer’s to find — and any adjustment on the 1099-B removes the easy filing path. Without adjustments, broker totals go straight onto Schedule D; with them, each trade goes on Form 8949 or an attached statement, which can mean mailing Form 8453.
Traders who qualify for trader tax status can elect mark-to-market under §475(f): wash sales and the $3,000 cap stop applying, gains and losses become ordinary, and open positions are marked at year-end. The election is due with the prior year’s return, so April 15, 2027 for tax year 2027. Practitioners look for roughly 720 trades a year on three-quarters of trading days; a bot’s trades count only if the trader built and oversees it, so that time needs a log.
Tools that make the input easier:
| Tool | What it does | Price |
|---|---|---|
| TradeLog | Recomputes wash sales across all accounts; §475 support | $219–459/yr |
| TraderFyles | Cloud; audits the broker’s 1099-B, IRA washes, TurboTax export | Free–$899/yr |
| Form8949.com | Turns broker files into 8949 and Schedule D, both filing routes | $18 per broker file |
| Koinly / CoinLedger | Crypto, per-wallet basis, TurboTax export | $49–199+/yr |
TurboTax imports 1099s directly from Alpaca, Schwab, E*TRADE, Fidelity, Interactive Brokers, Public, Robinhood, tastytrade, TradeStation and Webull, up to about 10,000 transactions; Tradier, Coinbase and Kraken are not import partners.
Direct indexing does harvesting as a managed service — Frec from 0.09% with a $20,000 minimum, Wealthfront, Betterment, Schwab Personalized Indexing at 0.40% from $100,000 — but none watches accounts outside itself, and none offers an API an agent could drive. Running one beside a stock-trading agent is the classic way to wash losses without seeing it happen.
For the agent itself, the open-source options are thin (the wash-sale calculators on GitHub were last updated in 2022), so the agent keeps its own ledger: one row per lot, a 31-day blackout on re-buying anything sold at a loss, specific-lot sells where the broker allows it, positions in loss closed by mid-December, and a ticker universe no other household account touches. With that last rule, the broker’s same-account wash-sale figure is the true one and the 1099-B imports as it stands.
Crypto is different, for now. The wash-sale rule covers “stock or securities”, and crypto held as property is neither — but on 2026-09-16 the House Ways and Means Committee approved H.R. 10357, which would extend it to traded digital assets for dispositions after September 14, 2026. It is not law; if it passes as written it reaches back to trades already made. Brokers issue Form 1099-DA — proceeds from 2025, cost basis from 2026 for coins bought and held at the same broker — and basis is now tracked per wallet. Decentralised exchanges issue nothing.
Crypto as the second sleeve
| Route | Proof and security | Paper trading | Tax forms |
|---|---|---|---|
| Spot bitcoin and ether ETFs in the stock account | The stock broker’s record; no crypto keys at all | The stock account’s | One 1099-B |
| Alpaca Crypto | Separate entity, state licences; withdrawals to whitelisted addresses after 24 h | Yes, same API | 1099-DA; fees charged in the coin |
| Interactive Brokers (Paxos / Zero Hash) | Coins held outside IB, not SIPC-covered | Not confirmed | 1099-DA issuer unconfirmed |
| Kraken + Freqtrade | No customer-fund hack found; withdraw is a separate key permission, IP allowlist | Dry-run in the bot | Second 1099-DA; 0.40/0.80% fees |
| Coinbase Advanced | Public company; 2025 insider data breach ($307M booked); May 2026 outage | Mock sandbox only | Second 1099-DA |
Two stories set the rules here. When about 100,000 exchange keys leaked from the hosted bot service 3Commas in 2022, the thieves did not withdraw anything — they used the keys to trade victims’ money into coins they were pumping. A trade-only key is necessary, not sufficient: it also needs an IP allowlist, and no hosted service should hold it. And the most-cited live LLM trading contest ran on Hyperliquid, whose terms bar US persons, so it cannot be reproduced from the US.
Running it live safely
Diagram: the model proposes, code disposes — research without keys, a deterministic gate, one executor that holds the broker key, and a lot ledger that feeds tax filing
The research on attacks is blunt. Hidden edits to headlines cut an LLM trading system’s annual return by up to 17.7 points (arXiv 2601.13082); poisoning one role in a multi-agent trading system found “no architecture is inherently robust” (arXiv 2608.24069); and a purpose-built guard cut attack success from 38% to 15%, not to zero (arXiv 2605.27333). An agent that reads the news is an agent anyone who writes the news can steer. So the limits live outside the model:
- The LLM emits a typed proposal — symbol, side, target weight, confidence, the data it saw — and holds no broker key or tool.
- A deterministic gate checks it against an allow-list of liquid symbols, per-position and total exposure caps, a daily-loss and drawdown kill switch, price bands around a fresh quote, and settled cash.
- One small executor, written in-house with few dependencies, is the only process with the trade key. It places limit orders with idempotent client order IDs, and never sends market orders outside regular hours.
- A reconciler compares broker positions with the ledger every few minutes; any mismatch halts trading. A dead-man switch does the same when the heartbeat stops.
- Orders above a threshold, the first trade in a new symbol, and the first trade after a restart wait for a human.
Supply chain is the quieter risk. In March 2026 two releases of LiteLLM, a library under many agent stacks, carried a credential stealer for about forty minutes and spread through unpinned version ranges; both named projects leave their dependency versions open-ended. Lock with hashes and keep the executor dependency-light.
Paper trading validates the plumbing, not the edge. Alpaca’s paper fills happen at the quoted price without checking whether that much stock was offered there, and ignore slippage, market impact and dividends. The sensible rollout is shadow trading for at least a hundred decisions, then 1–5% of the intended capital live with limit orders only, scaling by at most 2× per step under rules written in advance.
Cost sets a floor on account size. At a mid estimate of 160,000 input and 30,000 output tokens per decision, ten tickers a day cost about $1,560 a year on a mid-tier model and under $200 on the smallest; keeping that under 1% of assets needs roughly $156,000 and $17,000 respectively. These are estimates to be replaced by metered usage. A paid market-data stack adds about $1,900 a year; a local model on a home GPU costs about a cent per decision in power, with decision quality nobody has measured.
The recommendations, argued
The field collapses to one architecture and a choice of broker; the table at the top is the short form.
The architecture, whichever broker: TradingAgents v0.5.0 (upstream, not the copy) as the research layer, run on a schedule over a watchlist with every rating logged; a broker-neutral execution framework — Lumibot or QuantConnect LEAN — behind a deterministic gate; the agent’s own lot ledger and blackout calendar; and a year-end cross-check in TradeLog or Form8949.com.
Option A — Interactive Brokers (the proven path). Rated A- by S&P, public, self-clearing, $10.6B of net capital, no payment for order flow on its Pro plan, the most realistic paper account of any broker here, trusted IPs and order-size precautions on the broker side, specific-lot selection through its Tax Optimizer, crypto through Paxos or Zero Hash, and support in every serious framework. Costs: a local gateway process, a two-factor login every week (hands off only if an authenticator seed lives on the machine, now that the standard automation tool has been retired), about $10 a month of market data, and a per-order minimum commission. This is the account to put real money in.
Option B — Alpaca (the agent-native path). Free paper trading by default, an official MCP server, one API for stocks and crypto, no commissions, a 3.56% sweep on idle cash, clean TurboTax import, and no process to babysit. Risks: eight years as a broker-dealer, 35 trading incidents in 2026 including two in which orders filled twice, a 2026 FINRA finding about system capacity, payment for order flow, keys that cannot be scoped, IP-restricted or expired, and first-in, first-out lot matching with no choice. This is the best place to build and paper trade, because paper money needs no track record.
The combination is the recommendation: build and paper trade on Alpaca, go live on Interactive Brokers. A broker-neutral framework makes the move a configuration change, and IBKR’s own paper account gives a realistic-fill check before the first live order.
Worth knowing: Public is the only finalist whose API chooses tax lots per order, but it has no paper trading, takes payment for order flow and clears through Apex; E*TRADE also takes a lot ID per order but needs a login every day; Schwab is as proven as it gets, and its API works for live trading, but it has no paper trading, a weekly browser login, 0.01% on idle cash and 12% margin for small balances.
Not recommended for this use case: AlpacaTradingAgent with real money (fail-open paths, keys exposed to an unauthenticated page); Robinhood Agentic Trading for unattended use (no paper trading, the heaviest record, and a broker that says it does not supervise the agents); any hosted bot that holds exchange keys; Hyperliquid and dYdX from the US; AI-agent tokens, which are speculation rather than tools.
Suggested evaluation path
- Run TradingAgents v0.5.0 daily on a small watchlist for a month; log each rating, its token usage and its cost; score the ratings against SPY afterwards
- Open an Alpaca paper account and wire the gate, executor and reconciler; shadow-trade the ratings with limit orders only
- After at least 100 decisions, compare against buy-and-hold SPY after costs — if there is no edge, keep the research layer and stop there
- Before any live order: the lot ledger, the 31-day blackout calendar, the kill switch and the dead-man switch are in place
- Open the Interactive Brokers account; repeat a short run on its paper account; then go live with 1–5% of the intended capital
- If the strategy trades at trader-status volume, decide on §475(f) before April 15 of the year it should apply
Sources
- TradingAgents: repository, changelog, paper, reproduction attempts in issue #168 and The Alpha Illusion, and the Hacker News discussion
- AlpacaTradingAgent: repository at commit
524cd77, and the fix that enabled live trading, PR #17 - Evidence: FINSABER, StockBench, LiveTradeBench, Agent Market Arena, CLQT, The Memorization Problem, HindsightBench, Temporal Leakage in LLM Backtesting, Alpha Arena as reported by ForkLog
- Brokers: FINRA BrokerCheck reports for each firm, SEC annual audited filings (X-17A-5), Robinhood Agentic Trading, Alpaca paper trading, Alpaca API key security, IBKR paper accounts, IBKR Tax Optimizer, Public API tax lots
- Finalists: Interactive Brokers’ S&P rating, commissions, interest and margin rates, API market-data requirements, weekly re-authentication, the archived IBC, and its Q2 2024 10-Q on the NYSE loss; Alpaca’s June 2026 statement of financial condition, Rule 606 disclosures, fee schedule, status history, the 21 May postmortem, non-retail flags and Series D announcement; Schwab’s pricing, margin rates, Q2 2026 Rule 606 report and the schwab-py authentication notes; Public’s fee schedule and API terms
- Rules: FINRA Regulatory Notice 26-10, FINRA Rule 4210
- Tax: IRS Publication 550, Form 8949 instructions, 1099-DA instructions, Topic 429 on traders, H.R. 10357 and the Joint Committee on Taxation’s description of the amended bill
- Crypto and security: Coinbase 8-K on the 2025 breach, 3Commas key leak, Adversarial News and Lost Profits, Poisoning Agentic Alpha, LiteLLM security update