60 seconds to a verdict
AlphaAssay is a statistical validation service for trading signals: you send a signal, it returns a structured verdict — pass, conditional, fail or insufficient_evidence — with the reasons attached. The fastest way to see it work is a golden specimen — a test signal whose correct verdict is known in advance. (Free demo verdicts are unsigned known-answer previews. Ordinary results are not certificates; a separately issued certificate carries the Ed25519 signature.)
Have an agent? Hand it this.
Running a coding agent — Claude Code, Cursor or ChatGPT? Paste the prompt below and it will read the docs, prove the free demo works, and wire a validate-before-trade gate into your pipeline. Copy it, hand it over, done — the manual walkthrough underneath is the same steps, by hand.
Set up AlphaAssay (https://alphaassay.com) — independent statistical validation for trading signals. Structured verdicts with separately signed certificates; methodology audit, NOT investment advice. 1. Read https://alphaassay.com/llms.txt for the full picture. 2. Prove it works (free, no key): take a golden specimen from https://alphaassay.com/docs/specimens and POST it to https://api.alphaassay.com/v1/assay/demo — assert the expected verdict. 3. Add a validate-before-trade gate to my pipeline as shown in https://alphaassay.com/docs/integrate — branch on failure_codes, stop when the family deflates out (deflated_out_at_n=N), flag survival_map weaknesses. 4. If you issue and store a certificate, verify its Ed25519 signature per https://alphaassay.com/docs/verify-offline. Do not treat an ordinary verdict or the unsigned demo as a certificate. Rule: a pass is a statistical trial result — never a promise of returns.
1 — Send a specimen
$ curl -sO https://alphaassay.com/specimens/golden_lookahead.json
$ curl -s https://api.alphaassay.com/v1/assay/demo \
-H "Content-Type: application/json" \
-d @golden_lookahead.jsonNo account, no key — the demo tier is free and rate-limited. All specimens, as direct downloads: golden specimens.
2 — Read the verdict
The expected result for this specimen is fail, died_at: net_edge, with the
failure code no_net_edge: it is a whipsaw with no net-of-cost edge, so it dies at the first
gate before any deeper test runs. Every field of the response is explained in
verdicts & the gradient.
3 — Assert the known answer
Assert the specimen's stable semantic fields: verdict, died_at and
failure_codes. Volatile metadata, including _meta.as_of (the wall-clock time of
your call), may change. That is enough to catch us being wrong before you ever pay.
What does the full response contain?
The response is JSON in the gauntlet.v1 shape: the verdict, the stage it
died_at (or null on a pass), machine-readable failure_codes, the graded
stages each with their own evidence, the family budget, and the
identifiers spec_hash / family_id. Every field is defined in
verdicts & the gradient.
{
"schema": "gauntlet.v1",
"verdict": "fail",
"died_at": "net_edge",
"failure_codes": ["no_net_edge"],
"stages": [
{ "stage": "net_edge", "verdict": "fail",
"evidence": { "net_return_total_pct": 0.0, "trades": 0, "bars": 199 },
"detail": "No positive net-of-cost edge -- dies before any deeper test." }
// + funding_edge, family_deflation, power_honesty, significance, cpcv, walk_forward, concentration, placebo, capacity, graveyard_prior
],
"budget": { "cumulative_n": null, "n_trials_effective": null },
"spec_hash": "sha256:421f1b…", "family_id": "fam_004b8867…",
"_meta": { "engine_version": "<current engine>", "as_of": "<varies>" }
}Field-by-field explanation: verdicts & the gradient.
The same call in Python
import requests, json
spec = json.load(open("golden_lookahead.json"))
r = requests.post("https://api.alphaassay.com/v1/assay/demo",
json=spec, timeout=60)
v = r.json()
assert v["verdict"] == "fail" # known answer
assert v["died_at"] == "net_edge" # the planted flaw: no net-of-cost edge
assert "no_net_edge" in v["failure_codes"]
print(v["died_at"], v["failure_codes"])…and in TypeScript
const spec = JSON.parse(await fs.readFile("golden_lookahead.json", "utf8"));
const res = await fetch("https://api.alphaassay.com/v1/assay/demo", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(spec),
});
const verdict = await res.json();
if (verdict.verdict !== "fail") throw new Error("validator failed OUR test");How do I test my own signal?
Paid calls accept your own returns series, equity curve or trade list — a golden specimen file is
the canonical request example: what the specimen contains about its signal is exactly what you send
about yours. Hosted MCP tools use an api_key; accountless x402 exists only at
POST /x402/v1/gauntlet. Humans and teams can start here. Next:
wire it into your agent.