BitcoBoostBitcoBoost Miner

BitcoBoost Proof API

Register the SHA-256 fingerprint of any file on the BitcoBoost (BCBO) blockchain and check it later. Your program sends only the fingerprint: the file itself is never sent. Free, no account and no key needed. Web page: bitcoboost.com/proof.

In short

CallWhat it does
POST https://bitcoboost.com/api/proofRegisters a fingerprint (or returns the existing registration).
GET https://bitcoboost.com/api/proof/<fingerprint>Tells whether a fingerprint is registered, and in which block.
GET https://bitcoboost.com/proof/statistiche.jsonPublic counters (updated every 5 minutes).

The fingerprint is the SHA-256 of the file: 64 hexadecimal characters (upper or lower case; it is stored in lower case). Answers are JSON. Field names are in Italian: impronta = fingerprint, stato = status, altezza = block height, ora_blocco = block time, registrata = time of the request.

1. Compute the fingerprint

# Linux
sha256sum myfile.pdf
# macOS
shasum -a 256 myfile.pdf
# Windows (PowerShell)
(Get-FileHash myfile.pdf -Algorithm SHA256).Hash.ToLower()

2. Register it

curl -s -X POST https://bitcoboost.com/api/proof \
  -H "Content-Type: application/json" \
  -d '{"hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}'

201 Created — sent to the chain

{"impronta": "e3b0…b855", "stato": "in_attesa", "txid": "9b7f…2ae5",
 "explorer": "https://explorer.bitcoboost.com/tx/9b7f…2ae5"}

in_attesa means "waiting for the next block". A block arrives about every 10 minutes on average; after that the status becomes confermata (confirmed).

200 OK — it was already registered

Same fields as the check below, plus "gia_registrata": true. A fingerprint is registered only once: the first date counts.

3. Check it

curl -s https://bitcoboost.com/api/proof/480fea7b2dd43da41b5e57ca5b9f35c233e63d57fe243b70f5a41625d0788317

200 OK

{"impronta": "480fea7b…8317", "stato": "confermata",
 "txid": "9b7f570c…2ae5", "registrata": 1791896225,
 "altezza": 24530, "ora_blocco": 1791896608,
 "explorer": "https://explorer.bitcoboost.com/tx/9b7f570c…2ae5",
 "dati_sulla_catena": "OP_RETURN 4242504601480fea7b…8317"}

Times are Unix timestamps (seconds, UTC). altezza and ora_blocco are null while the status is in_attesa.

404 Not Found — never registered

{"impronta": "…", "stato": "non_registrata"}

A shareable certificate page for any fingerprint: https://bitcoboost.com/proof/#<fingerprint>

Errors and limits

CodeerroreMeaning
400impronta_non_validaThe fingerprint is not 64 hexadecimal characters.
400richiesta_non_validaThe body is not valid JSON.
413troppo_grandeThe body is larger than 1,000 bytes (send only the fingerprint).
429limite_giornalieroMore than 10 new registrations in 24 hours from the same internet address. Checks are not limited this way.
503limite_totale_giornalieroThe free daily total of the service has been reached. Try again later.
503registro_non_disponibile / catena_non_disponibileTemporary problem on our side. Try again in a few minutes.

Please keep your calls reasonable: requests are also rate-limited per second.

What is written on the chain

One transaction with an OP_RETURN output of 37 bytes: 42425046 ("BBPF") + 01 (version) + the 32 bytes of the SHA-256. The explorer labels these outputs "BITCOBOOST PROOF".

Independent check, without trusting us: compute the SHA-256 of the file, open the transaction on the explorer and find 4242504601 followed by the same fingerprint. The date is the date of the block that contains it.

Example: register every software release (GitHub Actions)

A step you can add to a release workflow. It registers the fingerprint of each file you publish; the 10-per-day limit applies.

- name: Register release files on BitcoBoost Proof
  run: |
    for f in dist/*; do
      h=$(sha256sum "$f" | cut -d' ' -f1)
      echo "$f  $h"
      curl -s -X POST https://bitcoboost.com/api/proof \
        -H "Content-Type: application/json" -d "{\"hash\":\"$h\"}"
      echo
    done