canonical: https://jentic.com/apis/chainrecorder.com/chainrecorder

# ChainRecorder API

Jentic publishes the only available OpenAPI specification for ChainRecorder API, keeping it validated and agent-ready. ChainRecorder is a blockchain timestamping service that records the hash of a file on chain, producing a tamper-evident proof that the document existed at a specific time. The two-endpoint API lets a client submit a file or hash to be chained and read back the full list of previously recorded hash chains.

## For AI agents

Anchor a file's cryptographic hash on chain to produce a timestamped tamper-evident record, and list previously recorded hash chains.

## Scope

Does not store or retrieve the underlying file contents, run smart-contract execution, or sign documents - use for hash-anchoring and chain-listing operations only.

## Capabilities

- Submit a file to be hashed and recorded on chain via ChainRecorder
- Chain a new entry to an existing hash chain to maintain a verifiable sequence
- Read every hash chain previously recorded against the account
- Generate audit-ready proof-of-existence records without running blockchain infrastructure

## Use cases

### Document Proof of Existence

Record a tamper-evident proof that a contract, report, or design document existed at a particular time without disclosing its contents. POST /files submits the file (or its precomputed hash) and ChainRecorder anchors it on chain, returning the chain reference. Used by legal, compliance, and IP teams who need an external timestamp authority that doesn't depend on a single internal clock.

Example prompt: Call POST /files with the document hash and label, then store the returned chain identifier alongside the document record

### Append-Only Audit Log

Maintain an append-only log of internal events by chaining each new event hash on top of the previous one. POST /files extends an existing chain so any later tampering with intermediate entries breaks the chain, and GET /hashes returns the full chain for offline verification. Useful for regulated workflows that need an externally-verifiable audit trail.

Example prompt: Each night call POST /files with the day's events bundle hash to extend the audit chain, then call GET /hashes to verify the chain length matches expectations

### Compliance Evidence Pack

Produce evidence packs for an external auditor that include cryptographic proof a record was created on a particular date. GET /hashes returns every chain ChainRecorder has recorded for the account so the audit pack can include the chain identifiers, timestamps, and the corresponding file hashes. Auditors verify the proof out of band against the public chain.

Example prompt: Call GET /hashes for the period under review and export the result as the timestamping section of the evidence pack

### AI Agent Document Anchoring via Jentic

An agent finalising a contract draft is asked to 'anchor this version on chain so the counterparty can verify the timestamp'. Through Jentic, the agent searches for a record-file-hash operation, loads the input schema, and calls /files with credentials drawn from your Jentic One instance. The agent returns the chain reference without the developer wiring custom X-ThirdParty-Token handling.

Example prompt: Use Jentic to search 'record a file hash on the blockchain', load the operation backed by POST /files, and execute it with the document SHA-256

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/files` | Chain a file or hash to the blockchain |
| GET | `/hashes` | List all recorded hash chains for the account |

## Key resources

- **Files** — Submit a file or hash to be chained on the blockchain and extended over time
- **Hashes** — Read every hash chain previously recorded for the account

## Why Jentic

- **Setup:** Wiring ChainRecorder by hand means learning its X-ThirdParty-Token header auth, pointing every request at the mainnet host, and adding the token to each call yourself. Through Jentic you install once, import ChainRecorder from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** ChainRecorder anchors and lists hashes through flat operation paths rather than a per-resource URL, so scope the agent to the operations it needs, such as recording a file hash and listing hash chains. You choose which operations it may call, so anything beyond hash anchoring and chain listing is not included unless you add it.
- **Credential handling:** Your ChainRecorder X-ThirdParty-Token is stored once, encrypted, by your own Jentic One instance and injected into the request header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'record a file hash on the blockchain' or 'list my recorded hash chains', and Jentic returns the matching ChainRecorder operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Alchemy API** — EVM blockchain infrastructure for verifying ChainRecorder anchors against the underlying chain
- **Tatum API** — Multi-chain blockchain API that can record arbitrary data, including hashes, across many chains
- **MISP API** — Threat-intel platform that can store and share indicator hashes alongside ChainRecorder anchors

## FAQ

### Why is there no official OpenAPI spec for ChainRecorder API?

ChainRecorder does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call ChainRecorder API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the ChainRecorder API use?

The API uses an API token passed in the X-ThirdParty-Token request header. Through Jentic, the token lives in your Jentic One instance and is added to outgoing requests at execution time so it never enters the agent's prompt or context window.

### Can I anchor a file on the blockchain through the ChainRecorder API?

Yes. POST /files accepts the file (or its precomputed hash) and label and returns the chain reference once the hash is anchored. Pair it with GET /hashes to confirm later that the chain still contains the entry exactly as recorded.

### What are the rate limits for the ChainRecorder API?

Limits are tied to the ChainRecorder plan attached to your token rather than published as a single number in the spec. Watch for 429 responses with Retry-After headers, especially when timestamping a backlog of historical files in one batch.

### How do I record a document hash on chain through Jentic?

Search Jentic for 'record a file hash on chain', load the operation backed by POST /files, and execute it with the file (or its SHA-256) and an identifying label. Jentic injects the X-ThirdParty-Token so the agent receives the typed chain reference back.

### How do I retrieve every hash chain my account has recorded?

Call GET /hashes. It returns every chain previously recorded against the authenticated token, including each chain's identifier, timestamp, and entries, so audit and evidence-pack tooling can pull the data without scraping the ChainRecorder web UI.

### Can I limit what my agent is allowed to do with the ChainRecorder API?

Yes. Because you run Jentic One yourself as the self-hosted execution layer, your own rules decide which ChainRecorder operations and credentials the agent may use. ChainRecorder exposes flat operation paths rather than per-resource URLs, so you scope the agent to only the operations it needs, such as recording a file hash with POST /files and listing recorded chains with GET /hashes. Anything beyond hash anchoring and chain listing stays unavailable to the agent unless you explicitly add it.
