Signl for agents
Market context your agent can act on
One deterministic read on market conditions — versioned, auditable, and honest when it doesn't know. Your agent checks it before it acts, and you can show what it said on any past date. No language model anywhere in the path, so two runs on the same tape agree.
- Stop acting into the wrong tape. A breakout signal fired into a risk-off market is the classic false positive. Branch on the gate and it never reaches your users.
- Size to conditions. The same posture that says whether to act says how much confirmation to require first.
- Stop re-deriving the market every run. One call replaces the macro reasoning your agent currently pays tokens to redo.
The daily market gate is free and needs no account.
Free
Give your agent a risk posture it can branch on, and the broad-market rails behind it.
Personal Agent
Act on today's tape rather than yesterday's, and rank the whole market before scoring a single name.
Active / Builder
Ship a product on it: intraday state, five years of history to backtest against, and volume for a real user base.
Team
Desk-grade access, with an archive long enough to evidence what the feed said on any past date.
What these rows mean
- Coverage
- Which instruments the reference covers. Sample is a fixed set of large sectors and benchmarks — enough to answer "is this a market to act in at all". Full market adds every sector and theme we track, so you can ask the question about the thing you actually trade.
- Freshness
- How current the market state is. After the close means the state reflects yesterday's finished session. Premarket and close adds a read before the open. Intraday re-computes through the day, so a decision your agent makes at 14:00 is made on 14:00's conditions.
- History
- How far back you can replay the state. This is evidence, not data: it is how you check whether the reference would have improved your agent's output before you wire it in — and how you show what it said on a date someone later asks about.
- Calls / day
- How often you may read it. Note that re-reading an unchanged
state is cheap by design:
state_versiononly changes when the market state does. - API keys
- How many separate consumers you can run — one per bot, service or desk, so they can be rotated or revoked independently.
- Workflow recipes
- Ready-made integrations — running the gate before your agent acts, filtering a scanner by sector rotation, and using Signl from ChatGPT. Free for everyone, no account.
Why your agent should use Signl
| Why your agent needs it | What it costs | What you get |
|---|---|---|
| Know whether conditions support acting at all | 1 call, ~70 tokens, no inference — against 4–6 calls and ~4,000 tokens to work it out from raw data | Fewer bad calls reach your users |
| Grade a setup the same way twice | Free — the same tape returns the same answer | A setup is not rated one way on Tuesday and another on Wednesday, so your users keep trusting the product |
| Watch for change without paying to poll | state_version changes only when the state does |
Run as often as you like; an unchanged poll is free to re-read |
| Show what the market said on a past date | Included from Personal Agent up | Prove the filter would have helped before wiring it in — and evidence what you relied on afterwards |
?format=decision returns the eight fields an agent branches
on — regime, risk mode, posture, confirmation, confidence, quality,
version, expiry — and nothing else. ?format=compact
adds the reasoning when a human needs to read it;
full adds prose and discovery material an agent reads once at
integration.
Before you pay for anything
No key, no signup, 3 calls a day from your IP. If it is not obviously useful in ten seconds, do not buy it.
From a shell
curl https://signl.markets/api/v1/public/gate
From a bot
import json, urllib.request
g = json.load(urllib.request.urlopen("https://signl.markets/api/v1/public/gate"))["data"]
print(g["risk_mode"], g["new_risk_posture"], g["confirmation_requirement"])
Standard library only — nothing to install, nothing to authenticate.
Those three fields are the whole decision: whether conditions support new
market risk, how much size is warranted, and how much confirmation to
require first. reason_codes tells you why, as bounded
strings you can branch on rather than prose you have to parse.