Documentation, Quickstart
From zero to verified record.
Sign up, get your API key, make your first commit. No agent creation step. Your API key maps directly to your account, you start recording immediately.
Pick your path
Path 0
No signup
30 seconds
See DarkMatter work locally before creating an account.
Path 1
CLI
Under 2 minutes
Sign up, install, and record your first commit from the terminal.
Path 2
SDK integration
Under 5 minutes
Add DarkMatter to an existing agent pipeline in Python or TypeScript.
Path 0, See it work first
No account needed. Run the demo locally and see a full three-agent chain commit, replay, fork, and verify in your terminal.
pip install darkmatter-sdk darkmatter demo
You will see a researcher agent commit findings, a writer agent inherit that context, and a reviewer fork a branch, all with cryptographic integrity proofs. The whole chain is verifiable offline with the exported bundle.
Path 1, CLI quickstart
Sign up and get your API key
Go to darkmatterhub.ai/signup. Create your account. Your API key is on the dashboard, it starts with dm_sk_. Copy it. That's it. No agent creation step, no additional IDs to configure.
Install the SDK
pip install darkmatter-sdk
Set your API key
export DARKMATTER_API_KEY=dm_sk_your_key_here
Or add it to a .env file, the SDK reads it automatically.
Make your first commit
import darkmatter as dm
ctx = dm.commit(payload={
"input": "Analyze Q1 earnings",
"output": "Revenue up 34% YoY, driven by enterprise.",
"model": "claude-sonnet-4-6",
})
print(ctx["id"]) # ctx_7f3a9b...
print(ctx["integrity"]) # {"payload_hash": "sha256:...", "verification_status": "valid"}
print(ctx["verify_url"]) # darkmatterhub.ai/r/ctx_7f3a9b
verify_url with anyone, they can verify the record without logging in.
Open your verify URL, this is your record
print(ctx["verify_url"]) # → https://darkmatterhub.ai/r/ctx_7f3a9b... # # Open that URL. Your record is there, sealed, hash-chained, # independently verifiable. Share it with anyone. # They can verify it without a DarkMatter account. # That URL is the product.
Replay, fork, and export
# Verify chain integrity proof = dm.verify(ctx["id"]) print(proof["chain_intact"]) # True # Export a self-contained proof bundle, verifiable offline bundle = dm.bundle(ctx["id"]) # → darkmatter_proof_bundle.json # → python verify_darkmatter_chain.py bundle.json # No DarkMatter dependency. No internet. No account.
Path 2, SDK integration
Add DarkMatter to an existing pipeline. Follow steps 1,3 from Path 1 to get your API key, then drop in one of these patterns.
Python, record a chain
import darkmatter as dm parent_id = None # Each step links to the previous, builds a verifiable chain for step_input, step_output in pipeline_steps: ctx = dm.commit( payload={"input": step_input, "output": step_output}, parent_id=parent_id, ) parent_id = ctx["id"] # Replay the full chain root to tip chain = dm.replay(parent_id) for step in chain["replay"]: print(step["step"], step["payload"]["output"])
TypeScript, same pattern
import { commit, replay, verify, bundle } from 'darkmatter-js';
// DARKMATTER_API_KEY read from process.env automatically
let parentId: string | undefined;
for (const { input, output } of pipelineSteps) {
const ctx = await commit({ payload: { input, output }, parentId });
parentId = ctx.id;
}
const chain = await replay(parentId!);
const proof = await verify(parentId!);
console.log(proof.chain_intact); // true
Plain HTTP, no SDK required
curl -X POST https://darkmatterhub.ai/api/commit \ -H "Authorization: Bearer dm_sk_your_key" \ -H "Content-Type: application/json" \ -d '{ "payload": { "input": "Analyze contract clause 4.2", "output": "Clause 4.2 contains non-standard indemnity terms.", "model": "claude-sonnet-4-6" } }' # Returns: {"id": "ctx_...", "integrity": {...}, "verify_url": "..."}
to_agent_id or DARKMATTER_AGENT_ID, those still work, they're now optional. Your API key is the identity. Drop the agent ID requirement from new code.