API v2 · For developers

API v2 to seal hashes from your systems

Register SHA-256 hashes for logs, files or digital evidence and get a verifiable proof without sending the original content.

API v2 REST + JSON
SHA-256 Hashing
Polygon PoS Blockchain
FNMT Qualified seal
Privacy

Privacy by Design

Sellat registers the file fingerprint, not its content. In API v2, the original file is never sent to Sellat or published on blockchain.

Polygon

Verifiable external reference

The fingerprint is recorded on a public blockchain, so the proof does not depend on Sellat's database alone.

Dashboard

Keys and usage in your account

Create and revoke keys from your dashboard, and follow each proof and its status.

Team

Direct Tech Support

Talk to the engineers who built the code, not a bot.

01

Prepare your Hash

Generate a SHA-256 locally, for example: openssl dgst -sha256 file.zip.

02

Send to the API

Send the hash, a label and optional metadata to Sellat.

03

Batch and anchor

The proof joins a Merkle batch and is anchored on Polygon within minutes; the same batch is attested on Bitcoin too. Ask for it and the FNMT qualified seal is issued in the same call.

04

Verifiable proof

Get the id, the state, a downloadable proof.json, the certificate and the evidence package. All of it verifies without relying on Sellat.

An integration built for technical teams

API v2 does everything the web does: it registers a hash you already computed, anchors it on Polygon and Bitcoin, issues the FNMT qualified seal when you ask for it and, optionally, keeps the original in custody. Your system keeps the file; Sellat records only the fingerprint. To verify later, recompute the SHA-256.

*Polygon Gas included* Read the full API reference →

Request

POST /api/v2/proofs
Authorization: Bearer sellat_...
Content-Type: application/json

{
  "hash": "a8f5f167f44f4964e6c998dee827110c...",
  "name": "contract.pdf",
  "qualified": true,
  "metadata": { "ref": "case-2026-0142" }
}

Response

{
  "id": "6f2c9b1e-0d1a-4b9f-8e7c-2a4d5b6c7d8e",
  "created": true,
  "state": "queued",
  "anchors": [],
  "bitcoin": null,
  "qualified": {
    "state": "issued",
    "authority": "FNMT-RCM",
    "time": "2026-09-15T10:12:05Z",
    "tsr_url": ".../qualified.tsr"
  },
  "urls": {
    "proof_json": ".../api/v2/proof/6f2c9b1e....json",
    "certificate": "https://sellat.app/certificate/...",
    "evidence_zip": ".../evidence.zip"
  }
}

What it does not do yet

These capabilities are part of the next version’s design. We do not present them as available.

  • Batch endpoints
  • Status-change webhooks
  • Ethereum anchoring

Frequently asked questions

Frequently asked questions

How do usage limits work?

Each account can create 10 API proofs a day on the free account and 5,000 on the Pro account, across all its keys; proofs made on the web do not count. At the limit, the API answers 429 with Retry-After until 00:00 UTC. If you need more volume, write to us.

What happens if Sellat disappears?

The fingerprint anchored on the public blockchain does not depend on Sellat's database. Every proof has a downloadable proof.json in the public sellat-proof/2 format and an open-source verifier (sellat-verify): even if Sellat stopped operating, anyone could check it with the file, that proof.json and a public explorer.

Is it legally valid outside Europe?

Sellat creates technical proof of existence and integrity. Its legal value depends on the country, procedure and evidentiary context, so local legal advice is recommended. It does not replace a contract, a notary or an official registry.

Create your key and register your first proof

Your free account includes 10 API proofs a day and a welcome qualified seal, so you can try the whole flow, FNMT seal included.

Create an API key Sellat for systems →