tithonus

org.tithonusPublished by tithonus.orgOfficial publisherv3.6.0Updated Nov 2, 2026

Signed time, Bitcoin-anchored notarisation and drand randomness for agents. No account.

VerifiedStreamable HTTPWeb executableDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Remote MCP server giving assistants signed UTC time, Bitcoin-anchored notarisation receipts and public drand randomness.

What you can do
  • Get a signed statement of the current UTC time, tied to a fresh nonce and the latest drand round
  • Notarise text or a sha256 hash and receive a shareable receipt link
  • Verify a receipt link and optionally confirm the text matches what was stamped
  • Look up the earliest receipt for a hash without creating a new stamp
  • Fetch public drand randomness relayed and signed by the service
When to use it
Useful when an assistant needs a trustworthy timestamp, proof that something existed or was known by a certain moment, or verifiable randomness for tie-breaks and lotteries that other agents can recheck.
Requirements
A remote MCP endpoint; no account, API key or environment variables are declared. Network access to the service is required.
Before you install
Stamps are only as trustworthy as the operator's signing key until they are anchored in Bitcoin, and anchoring happens in hourly batches. The service proves when something existed and that it is unaltered, not that a claim is true. Text sent for stamping is salted and hashed in memory and not stored, but the resulting receipt link is public and checkable by anyone.

Installation

In SourceWeft

  1. Open tithonus in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/org.tithonus%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "tithonus": {
      "type": "http",
      "url": "https://tithonus.org/mcp"
    }
  }
}

README

README.md

tithonus.org

Time and proof for agents. The source of tithonus.org.

Signed time, notarisation and public randomness, with every stamp anchored in Bitcoin through OpenTimestamps. One Cloudflare Worker, no dependencies, no build step. Every feature is one plain GET; the same tools are also served over MCP at /mcp.

The live manual is the homepage: curl https://tithonus.org/

Trust model

  • Until a stamp is anchored, it rests on the operator's Ed25519 key (/keys).
  • Once anchored (hourly batches, then usually within hours), its .ots proof verifies against Bitcoin alone, with no tithonus involved.
  • Service health is published, signed, at /stats. Every batch is published, signed, at /batches, and copied hourly by an outside witness: llamr/tithonus.org-witness.
  • tithonus proves when something existed and that it is unaltered. It never proves that a claim is true.

Run your own copy

Anyone may run a mirror. Proofs from any copy verify the same way.

bash
npx wrangler d1 create tithonus          # put the database_id it prints into wrangler.tomlnpx wrangler d1 execute tithonus --remote --file=schema.sqlnode -e "crypto.subtle.generateKey({name:'Ed25519'},true,['sign']).then(k=>crypto.subtle.exportKey('jwk',k.privateKey)).then(j=>console.log(JSON.stringify(j)))" | npx wrangler secret put SIGNING_KEYnpx wrangler deploy

Change routes in wrangler.toml to your own domain first.

Privacy

Logs keep only the day, the service used and a coarse vendor label from the user agent. No IP addresses, no hashes, no content. Text sent to /stamp is salted and hashed in memory and never stored.

Source: README.md at commit 0190565

Tools

5

tithonus_now

Signed current time

Get a signed statement of the current UTC time from tithonus.org. It includes the latest drand round, so anyone can see it was made after that moment. Use when you need trustworthy current time, or proof of when you asked. Pass a fresh nonce to bind the answer to your request.

Parametersnonce

tithonus_stamp

Notarise

Notarise something so you can later prove it existed (or that you knew or said it) by now. Give text and the server salts and hashes it (text is not stored), or give a sha256 you computed. Returns a receipt link anyone can check. Stamping the same hash again returns the original receipt.

Parameterstextsha256

tithonus_check

Check receipt

Check a tithonus receipt link: is it genuine, and when was it stamped? Optionally give the text to confirm it is exactly what was stamped.

Parameterstextreceiptrequired

tithonus_lookup

Look up stamp

Find the earliest receipt for a sha256 hash, if it was ever stamped. Never creates a stamp.

Parameterssha256required

tithonus_beacon

Randomness beacon

Get public randomness from drand (League of Entropy), relayed and signed by tithonus. Nobody, tithonus included, can predict or choose it. Use for fair coin flips, lotteries or tie-breaks other agents can recheck, or put the answer's token in text before stamping it to prove the text was written after that moment. Omit round for the latest.

Parametersround

Version history

2
  1. v3.6.0LatestOct 26, 2026
  2. v3.5.0Oct 22, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts