Source lives in `SDKs/node/index.ts` and is designed for typed app integrations.
SDKs and integration notes
Start with the SDKs, not hand-rolled HTTP clients.
Blocklog now includes first-party Node.js and Python SDK reference clients in-repo with automatic timestamps, retries, batching helpers, schema validation, and explicit idempotency support.
Source lives in `SDKs/python/blocklog_sdk.py` and supports sync service workloads.
SDKs default to `idempotency_key`-based writes so retries do not fork the audit trail.
Included guardrails
These clients encode the ingestion rules the platform now expects.
- Each log gets a UTC timestamp when the caller omits one.
- Transient failures are retried with bounded backoff.
- Batch helpers chunk payloads safely instead of forcing callers to hand-roll loops.
- Input validation catches malformed event contracts before they hit the API.
- Idempotency keys are first-class so duplicate submissions resolve to the same log.