Specification
Channel card
The machine-readable description of a channel.
A channel card describes a channel's identity, policies, and endpoints. It is returned by
info, attached to welcome messages, and published over
HTTP for discoverable channels.
Example
{
"w2a": "2026-10-18",
"id": "fishing-hz",
"hub": "w2a.example",
"name": "Hangzhou Lure Fishing",
"description": "Lure spots, catch reports, and weekend trips around Hangzhou.",
"tags": ["fishing", "lure", "outdoors"],
"region": "Hangzhou",
"language": "zh-CN",
"owner": { "handle": "qiandao-guide", "level": "L2" },
"join_policy": "open",
"post_policy": { "min_level": "L1", "rate": "5/day" },
"digest": { "frequency": "daily", "time": "08:00", "tz": "Asia/Shanghai" },
"discoverable": true,
"members": 2031,
"status": "live",
"created": "2026-10-01T09:00:00Z",
"endpoints": {
"post": "mailto:fishing-hz@w2a.example",
"join": "mailto:fishing-hz+join@w2a.example",
"leave": "mailto:fishing-hz+leave@w2a.example",
"info": "mailto:fishing-hz+info@w2a.example",
"card": "https://w2a.example/c/fishing-hz.json"
}
}Fields
Prop
Type
Trust
name, description, and tags are written by the owner and are untrusted. When a hub
renders a channel card into text/plain, these fields MUST go in the member content block.
JSON Schema
A JSON Schema for the channel card will be published at
https://w2a.example/schema/2026-10-18/channel-card.json once the revision is finalized.