Market data in, our signals out
Our rules read the inputs above and make the picks. What customers receive is our signals, never the raw data.
Saetta AI publishes market signals for US-listed stocks. Each pick names a stock, an entry day and an exit day, carries a SHA-256 receipt, and is read from a REST API with your key.
Machine learningEvery Saetta Signals pick today comes from a tested rule. Our machine-learning models make no customer pick yet.
ASX: comingASX-listed stocks are coming. No ASX signal is published today.
The same feed goes to every customer. It is API-first. It does not hold your money or place trades. Nothing on this site is personal financial advice. The founding price is not open yet. Payments are off. You can create an account now. Join the waitlist if you want a note when the price is published. Important information.
Results, after fees
Tested on past data, then live
11 picks pending, none completed yet.
Losing picks stay in. The tested record is hypothetical.
A tested record on past data, and a live record that starts on 27 Oct 2026 and only moves forward. Dates, win rate and average return per pick, after fees.
Tested record, 2006-2009, after fees: win rate 53.8%, average return per pick +0.76%
A test on past data, after modelled fees and slippage. These are hypothetical results, not live trades and not a client account. Past results are not a promise, and past performance is not a reliable indicator of future performance.
Live results start with the first completed trades. The live record covers the picks of one modelled portfolio, not every signal customers receive.
| Date | Status | Result after fees, % of the money used | Note |
|---|---|---|---|
| 30 Oct 2026 | Pending | — | Waiting for final prices. |
| 30 Oct 2026 | Pending | — | Waiting for final prices. |
| 30 Oct 2026 | Pending | — | Waiting for final prices. |
| 30 Oct 2026 | Pending | — | Waiting for final prices. |
| 30 Oct 2026 | Pending | — | Waiting for final prices. |
| 29 Oct 2026 | Pending | — | Waiting for final prices. |
| 29 Oct 2026 | Pending | — | Waiting for final prices. |
| 29 Oct 2026 | Pending | — | Waiting for final prices. |
| 29 Oct 2026 | Pending | — | Waiting for final prices. |
| 28 Oct 2026 | Pending | — | Waiting for final prices. |
The latest 10 of 11 rows are shown here. The full live record.
Each row is one pick, dated by its entry day. The live record prices the picks one modelled portfolio takes from the signals customers receive. That portfolio can leave a signal out, so a signal you receive may be missing from the live record. Results are modelled after the fact from stored daily prices, in whole shares, after modelled fees and slippage, as a percent of the money the pick used. They are not trades in a client account. Pending picks are not final yet, and losing picks stay in.
Record data as of 31 Oct 2026, 11:45 UTC.
From market data to your app in five steps. The method is proprietary. Full page.
Our rules read the inputs above and make the picks. What customers receive is our signals, never the raw data.
A tested rule makes each pick. A pick names a stock, the day to enter and the day to exit, as the rule was tested. It is general information, the same for everyone, not advice about what you personally should do.
Every customer gets the same signals at the same time, from a read-only REST API with an API key. Signals can be wrong. How you use them is up to you.
US-listed stocks trade in four sessions, in New York time. Every Saetta Signals pick is dated to a New York trading day and is for the regular session.
The weekly schedule, in New York time. It is a fixed timetable, not a clock.
20:00 to 04:00, Sunday to Thursday nights
Trading on a few venues, usually thin.
04:00 to 09:30
Early trading before the regular session.
09:30 to 16:00
The main session, with the most trading. Every Saetta Signals pick is for this session.
16:00 to 20:00
Trading after the regular session, often around company news.
Exchange holidays and early closes follow the exchange calendar, so on those days the timetable above can differ from the market.
ASX's published timetable for a trading day, in Sydney time. This one is static too, and no ASX signal is published.
07:00 to about 10:00
Orders are entered and queue, and nothing trades. The open runs in the last minute before 10:00.
About 10:00 to 16:00
Continuous trading. It starts at about 09:59:45, randomised by up to 15 seconds.
16:00 to about 16:11
Orders are entered from 16:00 without matching. The close runs at about 16:10, randomised by up to 30 seconds, and sets the closing prices.
16:11 to 19:00, then closed
Trades at the closing price until 16:21:30, then the adjust phases, with no new matching, until 18:50, then order purging and maintenance. Closed from 19:00 to 07:00.
ASX trading days only, Monday to Friday. ASX holidays and any change to these hours follow ASX's own calendar.
The data we collect, how each pick is tested and sealed, and how results are priced.
Every New York trading day
Updated daily
Kept current
Collected, no ASX signal yet
Every input
Before a rule goes live
Every pick
From 27 Oct 2026
A model has to earn its place before its picks reach customers.
Rules tested on past data before they went live. Their picks are the Saetta Signals customers receive today.
They make no customer pick today. A model's picks reach customers only after it passes every step below.
Still in research. It does not make picks today.
A pick is not a one-off tip. It is a sealed record, with a status, its times and a receipt.
The status is in every answer, next to the sealed and release times.
Every customer reads the same fields for every pick.
Each pick carries record_sha, the SHA-256 digest of its sealed record, and seq, that record's number in its chain. Each record's digest also covers the digest of the record before it in the same chain, so changing or removing a record changes its digest and every later one: a record_sha you kept would no longer match.
What happens in each case, on the API and in the live record.
| Case | What happens |
|---|---|
| A day's inputs are late or incomplete | A pick can be late, missing or wrong. |
| No rule makes a pick | There is no pick that day. Some days have none. |
| Before a pick's time to act | The API does not show it. |
| A pick reaches its exit | It is no longer in the API answer. |
| Final prices are not in yet | The pick counts as pending in the live record, never as final. |
| Stored daily prices cannot price a pick | It is counted apart, never as a win or a loss. |
| A sealed record is changed or removed | Its digest and every later one change, so a record_sha you kept no longer matches. |
| An exchange holiday or early close | Entry and exit days follow the New York exchange calendar. |
API-first, the same for every customer. API docs.
GET /api/v1/signals, for free-trial keys with their admission ticket. No other API route is open on this site yet.X-Request-Id, to its answers.record_sha and seq, so your code can keep a receipt for each one.curl
# Saetta Signals, with a free-trial key and its admission ticket. Keys go in the header, never in the address.
curl -sS "https://saettaai.com/api/v1/signals" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Trial-Admission: $TICKET"Python
# The same call in Python, with the standard library only.
import json
import os
from urllib.request import Request, urlopen
headers = {"Authorization": "Bearer " + os.environ["API_KEY"]}
headers["X-Trial-Admission"] = os.environ["TICKET"]
request = Request("https://saettaai.com/api/v1/signals", headers=headers)
with urlopen(request, timeout=15) as response:
print(json.dumps(json.load(response), indent=2))TypeScript
// The same call in TypeScript. Node 18 or later: fetch is built in.
async function signals(): Promise<void> {
const headers: Record<string, string> = { Authorization: `Bearer ${process.env.API_KEY}` };
headers["X-Trial-Admission"] = process.env.TICKET ?? "";
const res = await fetch("https://saettaai.com/api/v1/signals", { headers });
console.log(res.status, await res.text());
}
signals().catch((err) => {
console.error(err);
process.exitCode = 1;
});Features only, next to a typical retail signal service.
| Feature | Saetta AI | Typical retail signal service |
|---|---|---|
| Coverage | US-listed stocks; ASX coming | Often a watchlist or a daily screen |
| Session | Regular session only, on New York trading days | Usually regular hours, or end of day |
| Method | Tested rules | Often one person's view |
| Entry and exit | Each pick names its entry day and its exit day | Often an entry with no exit |
| Delivery | By API: read-only REST, with your own key | Usually email, app or chat alerts |
| Freshness | Sealed and release times on every pick | Rarely shown |
| Integrity | Sealed records, chained by SHA-256 digests | Rarely offered |
| Track record | Live record starting 27 Oct 2026, losing picks kept | Often selected highlights |
| Testing | Every rule tested on past data, with modelled costs, before launch | Rarely published in full |
| Format | The same signals for every customer, by API | Often a chat room or tip sheet |
Sign-in, keys, receipts and your money: what protects each one.
These are not open. Each will be our own signal, the same for every customer, not raw vendor data. API docs.
We have collected ASX daily price history back to 2000. ASX signals come only after a model passes the same out-of-sample tests as our US models.
A WebSocket stream with watch lists, so picks reach your app as they are released.
For a position: an exit signal for each stock. This does not place, route or execute a trade, and it does not read a brokerage account.
Trade-size and fee-aware guidance. It will be general information, the same for every customer. It is not a personal instruction, and it is not a view of your account.
Saetta AI is API-first. It is for people and teams who build their own tools and make their own decisions.
A developer-friendly feed for research tools, screeners or other financial software: call the feed from your own code, by read-only REST.
Using outside tested signals as one input among many, and testing them against their own methods.
Considering a feed for their own products, under their own licence, and only where the law allows.
You want advice tailored to you, someone to manage your money, or a promised outcome. We do none of those. You can lose money.
Every customer gets the same live feed. Sign up opens the real portal on this site.
Read your signals from the API on this site: a read-only REST API, with your API key. Keys go in the request header, never in the web address. A free trial of Saetta Signals is open, by API: see the free trial page. Risk-managed exits are coming soon. API docs.
Sign up, then log in with an authenticator app or a passkey. Create, name and revoke API keys, and read your own usage. Log in.
A founding price will be published here. It is not open yet. Payments are off, and there is no checkout. Founding members are described on the pricing page. That offer is not open, and joining the waitlist does not reserve a price or a place. Pricing page.
Founding price, to be announced. No dollar amount is shown. Each signal can be read from the API only after the time to act on it has passed. Past results do not guarantee future results. You can create an account without paying.
Plain answers. Open the FAQ page.
No. Nothing on this site is financial advice. Saetta AI publishes the same general signals to every customer. It does not know or consider your objectives, financial situation or needs. Before you act, consider whether it is right for you, and consider speaking to a licensed financial adviser. Saetta AI does not hold an Australian financial services licence and is not registered as an investment adviser in the United States.
In research, not in today's picks: a model must first pass every step of How a model qualifies, above. The language model is in research too, and makes no pick today.
On New York trading days, when a tested rule makes a pick. Some days have no pick. Nothing is pushed or streamed today: you read the API when you choose.
US-listed stocks, on New York trading days, in the regular session only. The night, pre-market and after-hours sessions are not part of the product today.
Each pick carries when it was sealed (sealed_at), when it was released (release_at) and a status. The status is closed once it is past its time to act. Check these fields before you use a pick.
You read picks only from this site's API, over HTTPS, with your own key. Keep each pick's record_sha and seq: together they are your receipt. Picks carry no digital signature today.
Both records are above, under Results: the tested record, a test on past data that is hypothetical, and the live record. The live record starts on 27 Oct 2026 and shows the date, status and result after fees of each pick it counts, losses included. Open the results.
No. We are not a broker or a custodian. We never hold your money or investments, open trading accounts, or place, route or execute trades. Risk-managed exits, when they open, will not place a trade either. Any trading decision, and its result, is yours.
No. The founding price is not published yet, and there is no checkout. Do not send money. The founding terms, including how long a price would stay fixed, will be published with the price. They are not in force. You can still create an account and sign in.
Sign-up needs an email address, a password and an authenticator app. After you sign up, you can add a passkey, for example one that uses Face ID or Touch ID, and sign in with it. The Security page also lets you replace your recovery codes, see your sign-in history, and sign out everywhere. Passwords are not stored as the password itself. Account data is kept on a server in the Netherlands. We will never ask for your password or an API key by email. We never ask for brokerage logins, because Saetta AI does not connect to your broker.
Get an email when the founding price opens. We do not send stock names or signals to the waitlist.