API Docs

POST /api/v1/verifyots

Verify an OpenTimestamps proof file (.ots) against a SHA-256 hash. Works with any .ots — our own or a third party's. Proof bytes are parsed in-memory and checked against the Bitcoin blockchain; nothing is stored.

Headers
HeaderRequiredDescription
X-API-KeyYesYour API key
Content-TypeYesmultipart/form-data
Form Fields
FieldTypeDescription
otsfileThe raw .ots proof file
hashstringSHA-256 hex of the original file (64 chars)
Response
{
  "verified": "VERIFIED",
  "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "blockTime": 1754500000,
  "blockHeight": 874123
}
verified values
ValueMeaning
VERIFIEDOTS proof is valid and confirmed on Bitcoin. blockTime/blockHeight populated.
PARTIALOTS parsed successfully but Bitcoin has not yet confirmed the anchor. Try again in ~1–6 hours.
Error Codes
StatusCondition
400Missing/invalid hash, missing ots file, or the file is not a valid OTS proof
401Missing or invalid API key
429Rate limit exceeded
cURL Example
curl -X POST https://proofintegrity.net/api/v1/verifyots \
  -H "X-API-Key: your-api-key-here" \
  -F "[email protected]" \
  -F "hash=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"