5-minute quickstart.
Predict on real data, apply a correction, watch the audit chain extend — without leaving this page.
Sign up + create a namespace
Sign up at /signup. Magic-link email; no password. Your account starts on the free tier with 5,000 predictions/month included.
From the dashboard, create a namespace. Pick an encoder: managed_bge (we host), or openai/cohere/voyage (you supply the API key — free tier defaults here).
Get an API key
From /dashboard/keys generate an sst_live_* key. This is shown ONCE — copy it now.
# Save your key + namespace as env vars export SEEDSTRATE_API_KEY="sst_live_..." export SEEDSTRATE_NAMESPACE="ns_acme"
First predict (curl)
curl -X POST https://seedstrate.ai/api/v1/predict \
-H "Authorization: Bearer $SEEDSTRATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"namespace": "'$SEEDSTRATE_NAMESPACE'",
"input": "I want to cancel my card"
}'Response includes prediction_id, label, confidence, mode_used, and a horizon_trace showing what each substrate component contributed.
Apply a correction
curl -X POST https://seedstrate.ai/api/v1/correct \
-H "Authorization: Bearer $SEEDSTRATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"namespace": "'$SEEDSTRATE_NAMESPACE'",
"prediction_id": "pred_xxx",
"correct_label": "card_cancellation",
"reason": "agent reviewed"
}'No retraining. The next prediction with similar input lands on card_cancellation immediately.
Verify the audit chain
curl https://seedstrate.ai/api/v1/audit/pred_xxx \ -H "Authorization: Bearer $SEEDSTRATE_API_KEY"
Returns the hash-chained ledger for that prediction + every correction applied to it. verified: true means every entry's content hash and chain link check out.
Use the SDKs (optional)
# TypeScript
npm install @seedstrate/sdk
import { Seedstrate } from "@seedstrate/sdk";
const sst = new Seedstrate({ apiKey: process.env.SEEDSTRATE_API_KEY!, namespace: "ns_acme" });
const r = await sst.predict({ input: "I want to cancel my card" });
# Python
pip install seedstrate
from seedstrate import Seedstrate
sst = Seedstrate(api_key="sst_live_...", namespace="ns_acme")
r = sst.predict(input="I want to cancel my card")Use a persistent HTTP client with connection pooling. The official SDKs already do this — they reuse one connection across many calls, so steady-state latency lands around ~100 ms p50 via the tunnel. Naïve curl-per-request or requests.post-per-request without a session pays a TCP + TLS handshake (and on Windows, an IPv6→IPv4 fallback) every call, which adds 200–2000 ms per request.
For serverless (Vercel, Lambda) where each invocation can be a fresh process, instantiate the SDK client in module scope and reuse across handler invocations on warm functions.
- · Full API reference — every endpoint, every field, every error code.
- · /dashboard/playground — run predicts + corrections + see the audit chain inline without writing code.
- · /dashboard/review-queue — operate the trust pipeline. Promote end-user corrections to shared.
- · /dashboard/training — fine-tune a custom encoder for your domain (Pro tier).
- · /dashboard/webhooks — get notified of every predict / correct / flag / promote / revoke.