Skip to main content

Documentation Index

Fetch the complete documentation index at: https://enfinitos.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

This quickstart takes you from a fresh sandbox tenant to a verified proof pack in under ten minutes. You will:
  1. Authenticate to a sandbox tenant.
  2. Send a delivery event.
  3. Fetch the resulting signed proof pack.
  4. Verify the pack offline with the open-source auditor.
The hosted sandbox is available now. Request access at enfinitos.com/apply and you will receive sandbox credentials once your application is approved.

1. Authenticate

EnfinitOS uses bearer-token authentication. Each sandbox tenant is issued a long-lived API key scoped to that tenant.
export ENFINITOS_API_KEY="sk_sandbox_..."
curl https://sandbox.api.enfinitos.com/v1/me \
  -H "Authorization: Bearer $ENFINITOS_API_KEY"
The @enfinitos/sdk-renderer-core (TypeScript) and enfinitos_brand (Python) client SDKs ship at the April 2027 production launch. During the sandbox period the cURL example above works against your issued credentials today. The auditor SDK used in step 4 is published now.

2. Send a delivery event

A delivery event tells the platform that a piece of content rendered on a substrate. The platform validates the event against the rights contract the tenant holds and, if it passes, folds it into the proof chain for the campaign.
await client.events.deliver({
  campaignId: "cmp_demo",
  surfaceRef: "surf_demo_001",
  contentRef: "ct_demo_v1",
  observedAt: new Date().toISOString(),
  substrate: "DOOH",
  metering: { impressions: 1, dwellMs: 8500 },
});

3. Fetch the proof pack

A proof pack groups all delivery events for a campaign over a time window into a single signed, hash-chained document.
const pack = await client.proofPacks.fetch({
  campaignId: "cmp_demo",
  sequence: "latest",
});

// `pack.bytes` is the canonical JSON for verification.
// `pack.signature` is the Ed25519 signature.

4. Verify the pack offline

The auditor is the open-source library that verifies the signature, walks the hash chain, re-projects metering, and re-runs settlement reconciliation. It does not call home.
import { verifyProofPack } from "@enfinitos/sdk-auditor";

const result = await verifyProofPack(pack.bytes, {
  publicKey: ENFINITOS_VERIFICATION_KEY, // published at docs.enfinitos.com/compliance/verification-keys
});

if (!result.ok) {
  throw new Error(`Verification failed: ${result.reason}`);
}

Next steps

Browse the SDK catalog

Twenty-eight SDKs across every substrate the platform governs.

Read the proof-pack format

The canonical-JSON shape, signing scheme, and chain semantics.

API reference

Every endpoint, every error code, every example.

Substrate model

Why a single rights handshake governs 23 substrates.