Przejdź do treści

Service Offer v1

Source schema: doc/schemas/service-offer.v1.schema.json

Machine-readable schema for one standing exchange-facing service offer published by a provider-side subject. This artifact is catalog-facing and distinct from transport-facing node advertisements. Host-side pricing remains computable through explicit unit semantics rather than through parsing human-readable labels.

Governing Basis

Project Lineage

Requirements

Stories

Fields

Field Required Shape Description
schema/v yes const: 1 Schema version.
offer/id yes string Stable identifier of this standing service offer.
created-at yes string Timestamp when the offer record became auditable.
published-at yes string Timestamp when the offer was last published to the exchange-visible channel.
expires-at yes string Timestamp after which the offer should be treated as stale.
sequence/no yes integer Monotonic per-offer sequence number. Higher values supersede lower ones for the same standing offer identity.
provider/node-id yes string Serving node hosting this offer.
provider/participant-id yes string Provider-side accountable subject publishing this offer.
service/type yes string Marketplace-visible service category such as text/redaction, research/topical, or image/generation.
service/description yes string Human-readable summary of the offered service.
pricing/amount yes integer Price in minor units for one billable unit of service. When pricing/currency = ORC, the value uses ORC minor units with fixed scale 2.
pricing/currency yes string Settlement unit or currency symbol, with ORC as the current hard-MVP marketplace unit.
pricing/unit yes string Human-readable billable unit label, for example 1 summary item, 1800 input characters, or 1 illustration.
pricing/unit-kind yes enum: per-item, per-character-block, per-request, flat Host-computable pricing kind. The host computes total price and hold from explicit order units multiplied by pricing/amount; pricing/unit remains descriptive only.
delivery/max-duration-sec yes integer Maximum provider-side promised duration for one accepted order under this standing offer.
queue/auto-accept yes boolean Whether the provider declares automatic acceptance up to the published queue posture.
queue/max-depth yes integer Maximum queue depth at which the provider still considers the service admissible.
queue/current-depth no integer Current queue depth when the offer was published or refreshed.
constraints/input no object Optional input-side bounded constraints declared by the provider.
constraints/output no object Optional output-side bounded constraints declared by the provider.
hybrid yes boolean Whether this service involves human intervention beyond pure automated model execution.
model-first no boolean Whether model-backed processing is intended to happen before human intervention when hybrid is true.
confirmation/mode no enum: arbiter-confirmed, self-confirmed, manual-review-only Provider-declared preferred confirmation mode intended to map directly into procurement contract confirmation semantics.
policy_annotations no object Optional marketplace-local or federation-local annotations that do not redefine the core standing-offer semantics.
signature yes ref: #/$defs/signature

Definitions

Definition Shape Description
signature object

Conditional Rules

Rule 1

When:

{
  "properties": {
    "hybrid": {
      "const": false
    }
  },
  "required": [
    "hybrid"
  ]
}

Then:

{
  "properties": {
    "model-first": {
      "const": false
    }
  }
}

Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

Schema version.

offer/id

  • Required: yes
  • Shape: string

Stable identifier of this standing service offer.

created-at

  • Required: yes
  • Shape: string

Timestamp when the offer record became auditable.

published-at

  • Required: yes
  • Shape: string

Timestamp when the offer was last published to the exchange-visible channel.

expires-at

  • Required: yes
  • Shape: string

Timestamp after which the offer should be treated as stale.

sequence/no

  • Required: yes
  • Shape: integer

Monotonic per-offer sequence number. Higher values supersede lower ones for the same standing offer identity.

provider/node-id

  • Required: yes
  • Shape: string

Serving node hosting this offer.

provider/participant-id

  • Required: yes
  • Shape: string

Provider-side accountable subject publishing this offer.

service/type

  • Required: yes
  • Shape: string

Marketplace-visible service category such as text/redaction, research/topical, or image/generation.

service/description

  • Required: yes
  • Shape: string

Human-readable summary of the offered service.

pricing/amount

  • Required: yes
  • Shape: integer

Price in minor units for one billable unit of service. When pricing/currency = ORC, the value uses ORC minor units with fixed scale 2.

pricing/currency

  • Required: yes
  • Shape: string

Settlement unit or currency symbol, with ORC as the current hard-MVP marketplace unit.

pricing/unit

  • Required: yes
  • Shape: string

Human-readable billable unit label, for example 1 summary item, 1800 input characters, or 1 illustration.

pricing/unit-kind

  • Required: yes
  • Shape: enum: per-item, per-character-block, per-request, flat

Host-computable pricing kind. The host computes total price and hold from explicit order units multiplied by pricing/amount; pricing/unit remains descriptive only.

delivery/max-duration-sec

  • Required: yes
  • Shape: integer

Maximum provider-side promised duration for one accepted order under this standing offer.

queue/auto-accept

  • Required: yes
  • Shape: boolean

Whether the provider declares automatic acceptance up to the published queue posture.

queue/max-depth

  • Required: yes
  • Shape: integer

Maximum queue depth at which the provider still considers the service admissible.

queue/current-depth

  • Required: no
  • Shape: integer

Current queue depth when the offer was published or refreshed.

constraints/input

  • Required: no
  • Shape: object

Optional input-side bounded constraints declared by the provider.

constraints/output

  • Required: no
  • Shape: object

Optional output-side bounded constraints declared by the provider.

hybrid

  • Required: yes
  • Shape: boolean

Whether this service involves human intervention beyond pure automated model execution.

model-first

  • Required: no
  • Shape: boolean

Whether model-backed processing is intended to happen before human intervention when hybrid is true.

confirmation/mode

  • Required: no
  • Shape: enum: arbiter-confirmed, self-confirmed, manual-review-only

Provider-declared preferred confirmation mode intended to map directly into procurement contract confirmation semantics.

policy_annotations

  • Required: no
  • Shape: object

Optional marketplace-local or federation-local annotations that do not redefine the core standing-offer semantics.

signature

  • Required: yes
  • Shape: ref: #/$defs/signature

Definition Semantics

$defs.signature

  • Shape: object