Integrate in an afternoon.
Official SDKs for Node.js and Python handle request signing, local hashing, selective disclosure and webhook verification, so sealing a record is a few lines of code. Everything is documented publicly, no signup needed to read.
The integration surface.
Your code hashes locally, calls one endpoint, and listens for one webhook. Everything else (batching, MPC signing, anchoring) happens on the Rox side, asynchronously.
Node.js SDK
TypeScript-firstFirst-class TypeScript client for the machine API: seal digests, manage vaults, receive signed webhooks and verify records, with retries and Ed25519 request signing built in.
# npm
npm install @rox-register/sdkPython SDK
cryptography + httpx onlyFull parity with the Node client, built on cryptography and httpx only: local file hashing, selective disclosure and webhook signature verification included.
# pip
pip install rox-registerimport { RoxRegister } from "@rox-register/sdk"; const rox = new RoxRegister({ apiKey: process.env.ROX_API_KEY }); // hash locally, send only the salted digest const seal = await rox.seal("./contract.pdf", { vault: "contracts" }); // later, anyone can verify, no API key needed const ok = await RoxRegister.verify("./contract.pdf", seal.proof);
What the SDKs take off your plate.
Local salted SHA-256 with streaming for large files. The document never enters the request.
Ed25519 request signing and retries, so every API call is authenticated and idempotent.
Signature verification for every event, so a spoofed "anchored" notification is rejected outright.
Selective disclosure helpers: share a proof with one counterparty without revealing anything else.
The full reference lives on the portal.
Quickstarts, guides, signed-request reference and the complete webhook catalogue: public, no signup to read.