AlphaAssay $ test my signal

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.

paste into your agent — it takes it from there
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

terminal
$ 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.json

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

response — 200 OK · abridged
{
  "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

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

typescript · node ≥ 18
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.