Integrate in minutes. Prove in production.

@substrate/client SDK, Supabase edge proxies, 176-route OpenAPI, and a live ingest → evaluate → replay demo on the hosted API.

Governed path demo

Four-step flow via Supabase edge → Fly.io API. Emits a real integrity receipt and replays it.

  1. API live
  2. Ingest signal
  3. Evaluate integrity
  4. Replay receipt
Initializing…

Application quickstarts

Core endpoints

GET/healthz
GET/readyz
POST/substrate/signals/ingest
POST/substrate/integrity/evaluate
POST/substrate/retrieval/filter
POST/tracescript/action/evaluate
POST/tracescript/product/execution/gate
POST/tracescript/code/evaluate
POST/tracescript/product/code/govern
GET/tracescript/observability/disclosure-integrity
GET/tracescript/observability/action-integrity
GET/tracescript/observability/code-medium-integrity
GET/tracescript/observability/governance-decisions
GET/tracescript/observability/kernel-results
GET/tracescript/observability/recovery-kernel
GET/tracescript/observability/contradiction-substrate
GET/tracescript/observability/coordination-state
GET/tracescript/observability/kernel-replay
GET/tracescript/observability/webhook-deliveries
GET/tracescript/observability/webhook-dead-letters
GET/tracescript/observability/webhook-retry-queue
GET/tracescript/observability/webhook-redrives
GET/tracescript/observability/coordination-regime-actions
GET/tracescript/observability/replay-coefficient-drift
GET/tracescript/observability/replay-coefficient-drift-alerts
GET/tracescript/observability/unsafe-recovery-auto-executions
GET/tracescript/observability/unsafe-recovery-auto-executions/recent
GET/tracescript/replay/coefficient-drift/dashboard
POST/substrate/webhooks/subscriptions/:id/rotate-secret
POST/substrate/webhooks/subscriptions
GET/substrate/webhooks/subscriptions
GET/substrate/webhooks/deliveries/dead-letters
POST/substrate/webhooks/deliveries/:deliveryId/redrive
POST/substrate/webhooks/deliveries/redrive-batch
GET/substrate/recovery/unsafe-auto-execute/circuit-breaker
PUT/substrate/recovery/unsafe-auto-execute/circuit-breaker
POST/tracescript/replay/coefficient-drift/digest
GET/tracescript/replay/coefficient-drift/digest/latest
GET/tracescript/replay/coefficient-drift/digest/schedule-policy
PUT/tracescript/replay/coefficient-drift/digest/schedule-policy
POST/tracescript/replay/coefficient-drift/digest/schedule-policy/tick
GET/tracescript/observability/replay-coefficient-drift-digests
GET/tracescript/observability/drift-digest-schedule-policies
GET/tracescript/observability/webhook-batch-redrives
GET/tracescript/observability/unsafe-auto-execute-circuit-breaker
GET/substrate/coordination-state
GET/substrate/coordination-state/:subjectType/:subjectId
GET/substrate/recovery/obstructions
GET/substrate/promotion-freezes
POST/substrate/recovery/repair/re-enter
POST/substrate/recovery/repair/execute
POST/substrate/contradictions/:contradictionId/resolve
POST/tracescript/disclosure/evaluate
POST/tracescript/product/disclosure/govern
POST/tracescript/product/memory/govern
POST/substrate/memory/hysteresis/evaluate
POST/substrate/receipts/:id/replay

Hosted API:
OpenAPI: substrate-runtime.openapi.json

@substrate/client SDK

Lightweight fetch client for direct API or Supabase edge proxies. Monorepo package at packages/substrate-client.

import { SubstrateEdgeClient, DEMO_PRESETS } from "@substrate/client";

const client = new SubstrateEdgeClient({
  supabaseUrl: process.env.SUPABASE_URL!,
  anonKey: process.env.SUPABASE_PUBLISHABLE_KEY!,
  tenantId: "00000000-0000-0000-0000-000000000001",
  functions: {
    apiLive: "substrate-api-live",
    signalsIngest: "substrate-signals-ingest",
    integrityEvaluate: "substrate-integrity-evaluate",
    receiptReplay: "substrate-receipt-replay",
  },
});

const body = {
  ...DEMO_PRESETS.policyCorpus.body,
  sourceId: `demo-${Date.now()}`,
};

const result = await client.runGovernedPathDemo(body);
console.log(result.receiptId, result.replay?.replayStatus);

Direct HTTP (Fly or local): use SubstrateHttpClient with baseUrl + x-tenant-id.

OpenAPI explorer

176 routes generated from the live Fastify registry — route parity enforced in CI. Schema depth is generic today; typed request bodies land in Phase E.

Download OpenAPI View in repo

Self-host quickstart

git clone https://github.com/kevinbrodzinski/tracescript-substrate.git
cd tracescript-substrate
pnpm install --frozen-lockfile
docker compose up -d postgres
pnpm db:migrate
pnpm dev:api
pnpm smoke:api

Remote smoke

export SUBSTRATE_API_URL=https://tracescript-substrate-api.fly.dev
export SUPABASE_URL=https://igkxlzaultmzjvfdckzg.supabase.co
export SUPABASE_PUBLISHABLE_KEY=your-publishable-key
pnpm smoke:remote

Application whitepapers map to demo presets — Policy Corpus, Disclosure Firewall, Action Firewall, Retrieval Integrity, Memory Firewall. For the full language lineage (specs v0.1–v0.5, Code Medium, configuration assembly), see Language foundation.