About OpenTTT Proof of Time
An MCP server that provides OpenTTT Proof of Time tools for AI agents verifying transaction ordering. It combines independent time sources with integrity shards and Ed25519 signatures to generate and verify proofs.
Key features
- 01Generate transaction time proofs
- 02Verify proofs using hashes and GRG shards
- 03Query proof history
- 04View period statistics
- 05Check time-source and system health
Use cases
- 01Establish which of two transactions occurred first
- 02Verify a transaction's Proof of Time
- 03Review proof history and period statistics
- 04Check time-source status and synchronization
MCP support
Exposes five OpenTTT Proof of Time tools to MCP clients: generation, verification, history queries, statistics, and health checks.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
8Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| eventId | string | No | Workflow step identifier (Claude Code). E.g. 'refactor_auth_step1' |
| prevEventId | string | No | Previous step's eventId — links steps into a causal chain |
| txHash | string | No | Transaction hash (DeFi, hex with 0x prefix) |
| chainId | number | No | EVM chain ID (DeFi, e.g. 8453 for Base) |
| poolAddress | string | No | DEX pool contract address (DeFi) |
| contentDigest | string | No | SHA-256 digest (lowercase hex, 64 characters) of the content this record attests to. Computed by the caller — the server never sees the content itself. When supplied, and the local time synthesis meets draft-08's own requirements (>=3 independent sources, a representable error bound), the response includes a spec-conformant potRecordV08 binary record (hex-encoded) in addition to the usual potHash fields; otherwise potRecordV08Error explains why it could not be produced. |
| ctxId | string | No | draft-08 §3.3 context identifier (domain separator for the Commitment). Defaults to a fixed server value if omitted; MAY be public. |
Details
From the project README@helm-protocol/ttt-mcp
Reference implementation of draft-helmprotocol-tttps (IETF Experimental)
MCP Server for OpenTTT — Proof of Time tools for AI agents
AI Agent A and Agent B both trigger a payment at the same time. Who was first?
OpenTTT answers this with cryptographic Proof of Time — synthesized from multiple independent time sources, verified through GRG integrity shards, and signed with Ed25519 for non-repudiation.
Quick Start
npm install @helm-protocol/ttt-mcp
// claude_desktop_config.json
{
"mcpServers": {
"ttt": {
"command": "npx",
"args": ["@helm-protocol/ttt-mcp"]
}
}
}
That's it. Your AI agent now has access to 5 Proof of Time tools.
Tools
| Tool | Description |
|---|---|
pot_generate | Generate a Proof of Time for a transaction |
pot_verify | Verify a Proof of Time using its hash and GRG shards |
pot_query | Query PoT history from local log and on-chain subgraph |
pot_stats | Get turbo/full mode statistics for a time period |
pot_health | Check system health: time sources, subgraph sync, uptime |
Tool Parameters
pot_generate
Generate a Proof of Time for a transaction. Returns potHash, timestamp, stratum, and GRG integrity shards.
| Parameter | Type | Required | Description |
|---|---|---|---|
| txHash | string | Yes | Transaction hash (hex with 0x prefix) |
| chainId | number | Yes | Chain ID (e.g. 8453 for Base, 84532 for Base Sepolia) |
| poolAddress | string | Yes | DEX pool contract address |
pot_verify
Verify a Proof of Time using its hash and GRG shards. Returns validity, mode (turbo/full), and timestamp.
| Parameter | Type | Required | Description |
|---|---|---|---|
| potHash | string | Yes | PoT hash to verify (hex with 0x prefix) |
| grgShards | string[] | Yes | Array of hex-encoded GRG integrity shards |
| chainId | number | Yes | EVM chain ID (e.g. 84532 for Base Sepolia) |
| poolAddress | string | Yes | Uniswap V4 pool address (0x-prefixed) |
pot_query
Query Proof of Time history from local log and on-chain subgraph.
| Parameter | Type | Required | Description |
|---|---|---|---|
| startTime | number | No | Start time (unix ms). Default: 24h ago |
| endTime | number | No | End time (unix ms). Default: now |
| limit | number | No | Max entries to return. Default: 100, max: 1000 |
pot_stats
Get PoT statistics: total swaps, turbo/full counts, and turbo ratio for a given period.
| Parameter | Type | Required | Description |
|---|---|---|---|
| period | "day" | "week" | "month" | Yes | Time period for statistics |
pot_health
Check PoT system health: time source status, subgraph sync, server uptime, and current mode.
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | — | — | This tool takes no parameters |
Example: Generate and Verify a PoT
// In your AI agent's tool call:
const pot = await pot_generate({
txHash: "0xabc123...",
chainId: 84532,
poolAddress: "0xdef456..."
});
// pot.potHash — unique Proof of Time hash
// pot.grgShards — GRG integrity shards for verification
// pot.timestamp — synthesized nanosecond timestamp
// pot.mode — "turbo" (honest) or "full" (requires full verification)
const verification = await pot_verify({
potHash: pot.potHash,
grgShards: pot.grgShards
});
// verification.valid — true if integrity shards reconstruct correctly
How It Works
- Time Synthesis — Queries multiple independent time sources (NIST, Google, Cloudflare) via HTTPS/NTP and synthesizes a median timestamp with uncertainty bounds
- GRG Pipeline — Encodes transaction data through a multi-layer integrity pipeline, producing verifiable shards
- Ed25519 Signing — Signs the PoT hash for non-repudiation
- Adaptive Mode — Honest builders get
turbomode (fast, profitable); tampered sequences getfullmode (slow, costly) — natural economic selection
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ttt": {
"command": "npx",
"args": ["@helm-protocol/ttt-mcp"]
}
}
}
Config file locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Requirements
- Node.js >= 18
- Network access for time synthesis (HTTPS to time.nist.gov, time.google.com, time.cloudflare.com)
Learn More
- OpenTTT SDK — The underlying SDK
- IETF Draft: draft-helmprotocol-tttps — TTTPS Protocol Specification
- Helm Protocol — GitHub
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.