The OpenTimestamps proof of one day
GET /v1/ledger-days/{day}/proof.ots
https://verify.tanba-ooh.kz/v1/ledger-days/{day}/proof.ots
The .ots file for the day's digest. It is a pending proof (calendar promises) until status of the day is anchored, then it carries the Bitcoin attestation. Verify with the official client, ots verify -d DIGEST FILE.ots, where DIGEST is the digest of the day. 404 until the digest has been submitted.
Authentication
None. This call is public.
Parameters
| Name | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
day | path | string | yes | The Asia/Almaty day, YYYY-MM-DD. | 2026-10-05 |
Responses
200 The proof.
application/vnd.opentimestamps.v1
Errors
Errors are problem documents (application/problem+json) with a stable code.
| Status | Meaning |
|---|---|
| 404 | Nothing there, or not visible to the caller. |
| 429 | Rate limit; see Retry-After. |
Code samples
curl
curl 'https://verify.tanba-ooh.kz/v1/ledger-days/2026-10-05/proof.ots'
Python
import requests
response = requests.get(
"https://verify.tanba-ooh.kz/v1/ledger-days/2026-10-05/proof.ots",
)
print(response.status_code, response.text)
Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://verify.tanba-ooh.kz/v1/ledger-days/2026-10-05/proof.ots", nil)
if err != nil {
panic(err)
}
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, _ := io.ReadAll(resp.Body)
fmt.Println(resp.Status, string(data))
}