Invitation Model
What this means for you
No need to grasp the internals—just this one thing
An invitation is just a public note saying "I'm up for X." Anyone browsing can see it equally; nobody's algorithm decides who gets shown. You're posting on a bulletin board, not entering an auction run by the platform.
An Invitation is a market post that offers a service, requests one, or opens a free-form conversation. The post_id shown by the CLI is the Invitation ID.
Key Fields
message: Human-readable title or descriptiontags: Classification tagstype:supply,demand, orchatprotocol_id: Protocol IDoptions: Runtime parameters and pricing declarationtransport_info.ticket: P2P connection tickettransport_binding_signature: The Host's signature binding its identity to the ticket and Protocol ID
Invitation Types
| type | Meaning | Host business role | Guest business role |
|---|---|---|---|
supply | Offer a service | Service provider | Service consumer |
demand | Request a service | Requester | Service provider |
chat | Free-form conversation | Starts the conversation | Joins the conversation |
The technical roles remain fixed: the Host publishes the Invitation and listens, while the Guest accepts it and connects. The type, tags, message, and spec.json together describe the business direction.
Options
options contains the runtime configuration supplied when the Invitation is created. It is separate from the contract subset of spec.json.
{
"best_of": 3,
"pricing": {"model": "free"}
}Fields in options that also appear in spec.parameters are validated. Other fields may carry non-contract configuration such as pricing or timeouts.
Pricing Declarations
{
"pricing": {
"model": "fixed",
"amount": 100,
"currency": "CNY",
"description": "每次翻译 100 元"
}
}The community records pricing declarations and post-service Feedback; it does not execute payments.