# OpenTimestamps Verify Bitcoin

> OpenTimestamps Verify Bitcoin is a paid API for AI agents from agentsvc.io, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-20).

Verifies an OpenTimestamps (.ots) proof against the Bitcoin blockchain, upgrading pending proofs from calendars and confirming attestations with block height, timestamp, and content match status.

## Facts

- Endpoint: POST https://agentsvc.io/api/v1/proxy/btc-timestamp-verify?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-20
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/opentimestamps-verify-bitcoin-1f710d6a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5lFNPJSN2w7RPVry5qJpn

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability opentimestamps-verify-bitcoin-1f710d6a -d '<json body>'
```

Example prompt: Can you verify this OpenTimestamps proof for me — here's the .ots file as base64: [base64string] — and check whether it matches this text: 'This contract was signed on January 1st 2024'? I want to know if it's confirmed on Bitcoin and what block it landed in.

## When to prefer this

Choose this endpoint when you need to cryptographically verify that a document, text, or hash was committed to the Bitcoin blockchain at a specific point in time using the OpenTimestamps protocol. It is the right choice for provenance checks, legal timestamping verification, and upgrading pending OTS proofs. Prefer it over generic hash-checking tools when you specifically have an .ots proof file and need Bitcoin-anchored attestation confirmation.

## Known failure modes

- Invalid or malformed base64 OTS proof returns a parse error
- Proof still pending if Bitcoin attestation not yet included in a block — returns 'pending' status without block details
- Hash or text mismatch returns a failed content-match result
- Calendar servers unreachable may prevent upgrade of pending proofs
- Invalid SHA-256 hex string returns a validation error

## How this service works

Verify an OpenTimestamps proof (.ots as base64, from btc-timestamp or any ots client): upgrades pending proofs from the calendars, checks each Bitcoin attestation against the real block's merkle root and returns status (confirmed, pending), block height and time, the upgraded proof, and whether your text, hash or URL matches.

## Output

Returns verification status (confirmed or pending), the Bitcoin block height and block timestamp of the attestation, an upgraded .ots proof (with calendar data folded in), and a boolean indicating whether the provided text, hash, or URL content matches the timestamped data.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "URL whose current bytes to compare"
  },
  "hash": {
   "type": "string",
   "description": "SHA-256 hex to compare"
  },
  "text": {
   "type": "string",
   "description": "Original content to compare"
  },
  "ots_base64": {
   "type": "string",
   "description": ".ots file as base64"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {},
  "success": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/opentimestamps-verify-bitcoin-1f710d6a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentsvc.io](https://www.zero.xyz/host/agentsvc.io/llms.txt)
