An engine you can call, not a widget you can watch.
Stax exposes its whole trading engine over a REST API and an MCP server: the screening, the simulation with next-day fills and fees, and paper deployment. Your code or your agent calls it with one Bearer key, and the app shows the same results because there is only one engine.
Can my agent run this without me clicking anything?
Yes. Over MCP or the API your agent can screen the market, run the full history test, and put the result in a practice slot on its own. Connecting a real brokerage account stays a step you take yourself.
Show me the call.
screen_stocks { "roe": ">15", "pe": "<20" }
-> 87 companies passed. Largest first: MSFT, V, JNJ, COST.
Three doors into the same machine
Call it from code
REST endpoints for screening, backtesting, tuning, and deployment at api.staxlabs.org. Send a strategy as JSON, get the full simulation back: equity series, trade list, and the rule that produced each fill. Wire it into a pipeline, version your strategies in git, diff the results.
> find me solid large companies and put a tested plan on paper
screen_stocks{ "roe": ">15", "pe": "<20", "mcap": ">10B" }
→ 87 companies match. Top by size: AAPL, MSFT, JNJ, PG, COST…
backtest{ "symbols": ["AAPL","MSFT","JNJ","PG"], "years": 5 }
→ Done in 4.2s. 214 trades, fees included, every buy and sell listed.
deploy_strategy{ "name": "Steady large caps", "capital": 10000 }
→ Deployed to a paper slot. It now trades simulated cash you can watch.
done Your agent screened, tested, and deployed. No real cash is involved until you say so.
Hand it to your agent
The MCP server puts ten tools in front of Claude or any MCP client, so an agent can propose an idea, prove it against years of history, and park the survivor in a paper slot inside one conversation. The transcript is the audit log.
Keep the human in the loop where it counts
Everything programmatic lands in paper: simulated cash on real prices. Connecting a brokerage is a deliberate step a person takes inside the app on the highest tier, one plan to one account. Your automation can never quietly reach a real balance.
Simulated account
$13,850
started with $10,000 · five years · fees included
vs. just buying the S&P 500
shown side by side
The verdict, in plain words: this plan grew a $10,000 practice account to $13,850 over five real years, and you can open every one of its 214 trades to see why it bought or sold.
- 5 years
- of real prices
- 1,258
- trading days simulated
- 214
- trades, each with its reason
- Next-day prices
- no hindsight allowed
Deterministic runs, fees counted, no hindsight allowed.
The simulator walks the calendar forward and fills orders at the next session open, so a strategy can never trade on information it would not have had. Commissions come out of every simulated fill, and the same request produces the same result, which makes a regression in your strategy code something you can see rather than something you argue about.
Eight independent verification checks audit each run before results are returned: rule adherence, price integrity, fee accounting, and risk-limit enforcement among them. When something in a run looks wrong, the output says so rather than smoothing it over.
What each interface gives you
- 3
- interfaces: REST API, MCP server, and the app itself
- 10
- MCP tools an agent can compose in one session
- 0
- real dollars reachable from any API call
Rate limits scale with account tier; the account endpoint reports where yours stand.
Questions people ask
Is the API the actual product or a stripped-down copy?
The actual product. The app, the API, and the MCP server sit on one engine, so a backtest you run from a script matches what a teammate sees in the browser for the same strategy and window. Nothing is mocked for the docs.
How does authentication work?
Bearer keys, created from the account page after a free signup. Put the key in the Authorization header and every endpoint works. There is no OAuth flow to implement and no SDK you are required to install.
Can I run this in CI or a scheduled job?
Yes. Requests are plain HTTPS with JSON bodies, results are deterministic for a fixed strategy and window, and keys can be scoped to an account you keep for automation. Treat a strategy like code: test it on every change.
What can an agent break?
At worst, its own paper deployments. Agents screen, simulate, save, and deploy simulated-cash plans. Brokerage connections cannot be created or touched through the API or MCP; that path only exists for a person, inside the app, on Elite.
Where do I start?
Sign up free, mint a key, and make one screening call from your terminal. From there the docs cover backtesting a JSON strategy and deploying it to a paper slot, which is a complete loop you can build on the same afternoon.
Background worth an engineer’s time
One key gets you the whole engine.
Sign up free, mint a Bearer key, and run your first screened, simulated, paper-deployed strategy the same afternoon.