Latest draft v0.4.0 — June 2026

Text Chat Format
Specification

An open, vendor‑neutral protocol for structured messaging. Designed for interoperability between chat platforms, AI agents, and messaging infrastructure. Simple. Extensible. Secure.

📄

Core Specification

Message envelope, content types, routing, and base protocol semantics. The foundation of TCF.

🔌

Transport Bindings

WebSocket, HTTP/2, and gRPC transport specifications with examples and best practices.

🧩

Extension Registry

Official and community extensions: typing indicators, read receipts, reactions, threads, and more.

🔒

Security Model

End‑to‑end encryption, message signing, authentication flows, and threat model documentation.

💻

Implementations

Reference libraries in Rust, TypeScript, Python, and Go. SDKs, testing tools, and compliance suite.

📋

JSON Schema

Machine‑readable schemas for all TCF message types. Validate your implementation automatically.

📝

Changelog

Track the evolution of TCF from v0.1.0 to the latest draft. Breaking changes, additions, and migrations.

🤝

Contribute

Join the working group, submit proposals, report issues, or help with documentation and tooling.

FAQ

Common questions about TCF, comparisons with other protocols, and migration guides.

Quick Example

// A simple TCF message
{
  "tcf_version": "0.4",
  "message_id": "01JEXM3A...",
  "timestamp": "2026-06-01T12:00:00Z",
  "sender": { "id": "alice@example.com" },
  "recipient": { "id": "room:general" },
  "content": {
    "type": "text",
    "body": "Hello, TCF! 👋",
    "format": "markdown"
  }
}