# Touchstone Locomot Sealed Timelock Encryption

> Touchstone Locomot Sealed Timelock Encryption is a paid API for AI agents from touchstone.locomot.io, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Encrypts plaintext using drand timelock (tlock) so it can only be decrypted after a specified future round or time, and decrypts previously sealed ciphertexts

## Facts

- Endpoint: GET https://touchstone.locomot.io/sealed
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/touchstone-locomot-sealed-timelock-encryption-87e0011d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eNS3p_Qo6mjwHAaDHMy6i

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 touchstone-locomot-sealed-timelock-encryption-87e0011d
```

Example prompt: Seal the text 'The winner is Alice' so it can't be decrypted for 10 days using timelock encryption, and give me the age-armored ciphertext.

## When to prefer this

Use this endpoint when you need cryptographic time-locking of data — i.e., encrypting a secret that should only be decryptable after a specific future time or drand round, leveraging drand's distributed randomness beacon. Prefer this over symmetric encryption when you want trustless, decentralized time-based access control without a key escrow. Choose this over generic encryption when the unlock condition is time/round-based rather than key-based.

## Known failure modes

- Missing required 'data' parameter for encrypt operation returns an error
- Missing 'ciphertext' parameter for decrypt operation returns an error
- Decryption attempted before the unlock round is reached returns failure (round not yet available)
- Invalid 'duration' format (not parseable as duration string) causes a 400-style error
- Invalid 'round' integer outside drand chain range returns an error
- Malformed age-armored ciphertext for decrypt returns decryption failure

## How this service works

Timelock encryption (tlock / encrypt-to-the-future): seal a payload toward a future drand round — undecryptable by anyone, including us, until that round lands; or open a landed seal. For sealed-bid auctions, commit-reveal, scheduled secrets, dead-man switches. age-armored, interoperable. Free zero-knowledge inspect at /sealed/inspect.

## Output

Returns a JSON object containing the operation type (op), the age-armored sealed ciphertext (for encrypt), the drand chain name and hash, the encryption engine used, the target drand round number, the UTC unlock time, a privacy note, and whether the encryption is deterministic.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "op": {
       "enum": [
        "encrypt",
        "decrypt"
       ],
       "type": "string",
       "description": "operation; default encrypt"
      },
      "data": {
       "type": "string",
       "description": "encrypt: plaintext to seal"
      },
      "round": {
       "type": "integer",
       "description": "encrypt: target drand round"
      },
      "duration": {
       "type": "string",
       "description": "encrypt: time to unlock e.g. '10d'"
      },
      "ciphertext": {
       "type": "string",
       "description": "decrypt: age-armored seal"
      },
      "decrypt_time": {
       "type": "string",
       "description": "encrypt: ISO unlock time"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "properties": {
    "op": {
     "type": "string"
    },
    "chain": {
     "type": "string"
    },
    "engine": {
     "type": "string"
    },
    "format": {
     "type": "string"
    },
    "chain_hash": {
     "type": "string"
    },
    "ciphertext": {
     "type": "string"
    },
    "privacy_note": {
     "type": "string"
    },
    "deterministic": {
     "type": "boolean"
    },
    "sealed_to_round": {
     "type": "integer"
    },
    "unlock_time_utc": {
     "type": "string"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/touchstone-locomot-sealed-timelock-encryption-87e0011d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from touchstone.locomot.io](https://www.zero.xyz/host/touchstone.locomot.io/llms.txt)
