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.