Skip to main content
The CertNode API

Sign anything. Prove it later.

One API call turns any event — an AI output, a document, an agent action, a transaction — into a cryptographic receipt: an ES256 signature, an independent RFC 3161 timestamp, and a Bitcoin anchor. Anyone you share it with can verify all three layers in the browser, with no account and no call back to you. It is the same primitive that powers every CertNode product.

ES256 + RFC 3161 + Bitcoin
three-layer receipt
100 / month
free, no card
Public verify
no account needed

One call

Send the thing you want to be able to prove later. Get back a receipt and a public verification URL.

Request — cURL
curl -X POST https://certnode.io/api/v1/provenance/sign \
  -H "Authorization: Bearer cn_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "content": "The Q3 report shows revenue of $4.2M...",
    "contentType": "ai_output",
    "model": "claude-opus-4-8",
    "provider": "anthropic"
  }'
Response
{
  "receipt_id": "b3f1c2d4-5e6a-7b8c-9d0e-1f2a3b4c5d6e",
  "verify_url": "https://certnode.io/verify/provenance/b3f1c2d4-5e6a-7b8c-9d0e-1f2a3b4c5d6e",
  "signature": "ES256 ...",
  "timestamps": {
    "certnode": "2026-05-23T18:04:01Z",
    "rfc3161": "2026-05-23T18:04:02Z",
    "bitcoin": "pending"
  }
}
// full schema: certnode.io/docs/provenance/api-reference
Or use the SDK
npm install @certnode/sdk      // sign + retrieve + verify
npm install @certnode/verify   // verify-only, zero-dependency

What the receipt gives you

Three independent layers, each answering a question a hostile party asks later.

WHO + WHAT

ES256 signature

Signs the content hash; verifiable against a published public key. Change one byte and it fails — tamper-evident.

WHEN

RFC 3161 timestamp

An independent Time Stamp Authority countersigns the hash — the standard format cited in case law.

PERMANENCE

Bitcoin anchor

Anchored via OpenTimestamps — a non-revocable proof of pre-existence no party can later forge.

Together: a record structured to the FRE 902(13)/(14) self-authenticating standard, with a public page at certnode.io/verify/provenance/{id} and an embeddable badge.

SDKs

  • @certnode/sdk — Node / TypeScript: sign, retrieve, search, trust score
  • @certnode/verify — zero-dependency verify-only
  • certnode (PyPI) — Python (coming soon)
  • @certnode/agent-sdk — sign AI-agent actions, scoped to a human authorization
  • MCP server — let an AI agent sign its own outputs

What the API does

  • sign — create a receipt for any content
  • retrieve / search — pull a receipt or query the registry
  • verify — re-check all three layers, in-browser or via API
  • export — receipts as CSV / JSON for audit
  • webhooks — events like usage.cap_reached

Pay for what you sign

100 receipts every month, free, no card. Past that it is metered, billed monthly — the more you sign, the lower the rate.

$0.010
0 – 10K / mo
$0.007
10K – 100K / mo
$0.004
100K – 1M / mo
$0.002
1M+ / mo

Per signing, in arrears. Free tier is 100 signings / month.

Create your first receipt in a minute.

Sign up, grab a key, sign something, and watch anyone verify it.