Signl for agents

Market context your agent can act on

One call returns a decision, not a dataset: whether conditions support taking new market risk right now, how much confirmation is warranted first, and why — as bounded codes your agent can branch on. Computed the same way every time, with no language model anywhere in the path.

The daily market gate is free and needs no account.

Free

Free

Give your agent a risk posture it can branch on, and the broad-market rails behind it.

CoverageSample
FreshnessAfter the close
History30 days
Calls / day25
API keys1
Workflow recipes
Try it now, no key

Active / Builder

$99/month

Ship a product on it: intraday state, five years of history to backtest against, and volume for a real user base.

CoverageFull market
FreshnessIntraday, every 15 min
History5 years
Calls / day25,000
API keys5
Workflow recipesYes
Get Active / Builder

Team

On request

Desk-grade access, with an archive long enough to evidence what the feed said on any past date.

CoverageFull market
FreshnessIntraday, every 15 min
HistoryFull archive
Calls / day250,000
API keys15
Workflow recipesYes
Talk to us

What this saves your agent

Working it out from raw data 4–6 calls, ~4,000 tokens, one inference pass — every time you ask
Asking Signl 1 call, ~70 tokens, no inference
Asking again tomorrow The same tape gives the same answer, so a setup is not graded one way on Tuesday and another on Wednesday
Polling all day state_version changes only when the market state does — an unchanged poll costs you nothing to re-read

?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.