The flight recorder for AI agents

When your agent does something wrong, replay exactly what happened.

ProofLedger records every decision, tool call, and result of an agent run as a signed, tamper-evident timeline. Reproduce the failure step by step, see the moment it went off the rails, and prove the record wasn't altered. One line to install — runs offline, with any framework.

Works with any agent framework
LangGraphCrewAIOpenAI Agents SDKAutoGenCustom

Built for a multi-model AI world

AI teams are no longer betting on one model forever. Today an agent may run on a frontier model; tomorrow it may route to a cheaper model, an open-weight model, or a private model inside the enterprise. ProofLedger keeps the trust layer independent from the model layer.

YOUR APPLICATION
AI AGENT
PROOFLEDGER TRUST LAYER
ANY APPROVED MODEL
ANY APPROVED TOOL
VERIFIED OUTCOME

Every agent keeps its identity, audit history, trust score, policy history, tool history, cost history, and verified outcome record — even when the underlying model changes.

agent://acme/customer-support-01
Jan–Mar · Claude · 42,100 runs
Mar–Apr · GPT · 31,000 runs
Apr–May · Gemini · 22,000 runs
May–now · GLM · 89,191 runs
Trust score: 93 — one identity, one history

From token spend to business outcomes

Don't just measure how many tokens your agents consume. Measure what they attempted, which models they used, what each task cost, whether policies were followed, whether the task succeeded, how the outcome was verified — and how agent trust changes over time.

Procurement agent — last 90 days
3,842
Runs
92.4%
Success rate
$2,184
AI cost
110.3x
Value / cost

Every outcome records its verification method — agents never self-declare success.

agent.ts
import { ProofLedger } from "@proofledger/sdk";

ProofLedger.enable({ apiKey: process.env.PROOFLEDGER_API_KEY });

await ProofLedger.withRun({ agentId: "procurement-agent-01" }, async (run) => {
  const result = await myAgent.run("Analyze suppliers");

  await run.recordModelExecution({
    provider: "anthropic", modelName: "claude-x",
    hostingRegion: "us-west", estimatedCostUsd: 0.31, latencyMs: 5400,
  });
  await run.recordOutcome({
    status: "success", verificationMethod: "human_approval",
    businessValueEstimate: 1200,
  });
  return result;
});

Drop it in. Every run is captured in a tamper-evident audit trail.

Everything you need to trust your agents

Identity, provenance, audit, outcomes, and replay — built for production AI from the first run, independent of the model underneath.

🔗

Tamper-evident hash chains

SHA-256 canonical chains make every run cryptographically verifiable.

🎬

Full run traces & replay

Capture inputs, outputs, events and tool calls — then replay them step by step.

🧭

Model provenance & switching

Record which model executed, where it was hosted, what it cost — and every fallback, in the same verified timeline.

📊

Cost-to-value analytics

Track spend per agent, model and task — and cost per verified outcome, not just tokens burned.

🔀

Run comparison & diffing

Diff prompts, outputs, models, tools, latency and cost between any two runs.

🧩

Framework-agnostic SDK

Drop-in TypeScript and Python SDKs that sit beside any agent stack.

How it works

Three steps from import to a verifiable audit trail.

1

Install the SDK

Add @proofledger/sdk and drop in ProofLedger.enable() — no rewrites required.

2

Your agents run as usual

Every run, event and tool call is captured automatically in the background.

3

Watch, replay & verify

Inspect every run, replay it step by step and prove the audit trail in the dashboard.

Simple pricing

Start free. Upgrade when you scale.

Free

$0 / month

  • 1,000 runs / month
  • 1 project
  • 7-day retention
  • Community support
Get started free

Pro

Popular

$99 / month

  • 100,000 runs / month
  • Unlimited projects
  • Team members
  • 90-day retention
  • Email support
Start Pro

TypeScript & Python SDKs included on every plan.

Start capturing trustworthy AI in minutes

No rewrites, no lock-in. Drop in the SDK and watch every run become auditable.