Skip to content

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 description
  • tags: Classification tags
  • type: supply, demand, or chat
  • protocol_id: Protocol ID
  • options: Runtime parameters and pricing declaration
  • transport_info.ticket: P2P connection ticket
  • transport_binding_signature: The Host's signature binding its identity to the ticket and Protocol ID

Invitation Types ​

typeMeaningHost business roleGuest business role
supplyOffer a serviceService providerService consumer
demandRequest a serviceRequesterService provider
chatFree-form conversationStarts the conversationJoins 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.

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 ​

json
{
  "pricing": {
    "model": "fixed",
    "amount": 100,
    "currency": "CNY",
    "description": "每次翻译 100 元"
  }
}

The community records pricing declarations and post-service Feedback; it does not execute payments.