# agentsvc.io: IOTA Notarize — Blockchain Content Notarization

> agentsvc.io: IOTA Notarize — Blockchain Content Notarization is a paid API for AI agents from agentsvc.io, paid per call via x402, $0.01/call, status healthy (last checked 2026-10-30, last successful call 2026-10-26).

Notarizes a URL, text, or file hash on the IOTA blockchain, creating a tamper-evident timestamped proof of existence

## Facts

- Endpoint: POST https://agentsvc.io/api/v1/proxy/iota-notarize?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: healthy
- Last checked: 2026-10-30
- Last successful call: 2026-10-26
- Success rate: 100% of calls made through Zero
- Activations on Zero: 1
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentsvc-io-iota-notarize-blockchain-content-notarization-286d67af
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TgrAJeLoN5F-9NsHv3zRK

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 agentsvc-io-iota-notarize-blockchain-content-notarization-286d67af -d '<json body>'
```

Example prompt: Notarize this URL right now on the IOTA blockchain — https://example.com/contract.pdf — and label it 'Q2 2025 Service Agreement' so I have an immutable proof of what it contained today.

## When to prefer this

Choose this endpoint when you need a lightweight, low-cost ($0.01 USDC) blockchain notarization on IOTA specifically, especially for AI agent workflows requiring tamper-evident proof of existence for URLs, documents, or arbitrary text. Prefer over Bitcoin OpenTimestamps (also on agentsvc.io) when you want IOTA's faster finality and don't need Bitcoin-level security assumptions. Use when no account or API key management is desired and pay-per-call via x402 is acceptable.

## Known failure modes

- URL unreachable or returns non-200 response — notarization fails with an error
- URL content exceeds 20 MB limit — request rejected
- Text content exceeds 1 MB limit — request rejected
- Invalid SHA-256 hex string provided in hash field — validation error
- IOTA network unavailable or congested — service may time out
- Label exceeds 120 character limit — validation error

## How this service works

Proof of existence on the IOTA mainnet: send text, a SHA-256 hash or a URL and get a tamper-proof timestamp. We store only the SHA-256 (never your content) in a locked notarization of the official IOTA Notarization package: it cannot be changed or transferred and its deletion is locked until 2106. Returns object id, transaction digest, ledger time and explorer links. Use for contracts, invoices, AI outputs, datasets, web page evidence or audit logs. Check later with iota-verify.

## Output

Returns a JSON object with a success flag and a data object containing the notarization proof details, including the blockchain anchor record, timestamp, and any stored label, confirming the content was hashed and committed to the IOTA ledger.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Notarize the exact bytes this URL returns now (max 20 MB)"
  },
  "hash": {
   "type": "string",
   "description": "SHA-256 hex of your file, alternative to text"
  },
  "text": {
   "type": "string",
   "description": "Content to notarize (hashed with SHA-256, max 1 MB)"
  },
  "label": {
   "type": "string",
   "description": "Optional public label stored with the proof, max 120 chars"
  }
 }
}
```

## Response schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentsvc-io-iota-notarize-blockchain-content-notarization-286d67af/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)
