Skip to content

Define escrow service invocation - #12

Open
mk-Denver wants to merge 5 commits into
pontmore:mainfrom
mk-Denver:mk/escrow-invocation
Open

Define escrow service invocation#12
mk-Denver wants to merge 5 commits into
pontmore:mainfrom
mk-Denver:mk/escrow-invocation

Conversation

@mk-Denver

@mk-Denver mk-Denver commented Jul 27, 2026

Copy link
Copy Markdown

This pull request significantly expands the escrow descriptor specification to introduce a formal, optional service interface for standalone escrow operation, clarifies the distinction between discovery-only and standalone-sufficient descriptors, and documents the normative requirements for public escrow service APIs. It also updates the documentation to reflect these new capabilities and provides a detailed example of a standalone escrow use case.

Escrow Descriptor and Service Interface Enhancements:

  • Adds a comprehensive "Standalone Sufficiency" section to PIP-01-escrow-descriptor.md, defining two use levels for escrow descriptors: (1) compatibility/discovery and (2) standalone operation, with the introduction of an optional service block that, when present, enables standalone application use.
  • Specifies the required fields and normative contract for the new service block, including transport, interface, endpoint, auth, operations, funding_model, release_decisions, and schema_url. Details are provided for authentication (with Nostr HTTP Auth as the recommended method), the wire contract schema, operation vocabulary, funding models, and release decision formats.
  • Provides a full example of a two-party dice game using a standalone escrow service, illustrating how an application can use the descriptor and service interface without swap-specific flows.
  • Clarifies that for standalone (non-swap) use, applications should only select descriptors with a complete service block matching their capabilities and trust constraints.

Documentation and Clarity Improvements:

  • Updates the README.md to reference the new service interface capabilities, clarifying that the escrow descriptor now optionally includes a standalone-capable service interface and adjusting descriptions accordingly. [1] [2] [3]
  • Expands the open questions section in PIP-01-escrow-descriptor.md to cover future directions for service interface schemas and additional escrow mechanisms.

Minor Clarifications:

  • Updates the summary of what the escrow descriptor tells counterparties and operators to include whether and how the escrow may be invoked as a standalone service.This pull request introduces a comprehensive specification for escrow service interfaces in the Pontmore protocol, clarifying how escrow descriptors can be used both for compatibility/discovery and as standalone, machine-readable service contracts (resolves Define escrow service invocation in PIP-01 #11 ). The changes define a new optional service block in escrow descriptors, detailing the public interface for standalone application integration, including transport, authentication, operations, funding models, and release decision vocabularies. The README and documentation are updated to reflect these enhancements and their implications for protocol interoperability.

Escrow Descriptor Service Interface Specification:

  • Added a new section specifying that escrow descriptors may now include a service block, which advertises a public, machine-readable interface for standalone escrow operation.
  • Defined the required and optional fields for the service block, including transport, interface, endpoint, auth, operations, funding_model, release_decisions, and schema_url.
  • Provided canonical vocabularies for escrow operations, funding models, and release decision formats, and described how authentication (with a focus on Nostr HTTP Auth/NIP-98) should be handled.
  • Added an extended example (two-party dice game) demonstrating standalone escrow usage via the new service interface.

Documentation and Terminology Updates:

  • Updated the README and PIP-01 to clarify that escrow descriptors now cover both public declaration and service interface, and revised protocol descriptions to include the new standalone interface model [1] [2] [3] [4].
  • Clarified that for standalone applications, only descriptors with a service block are sufficient, and described selection criteria for such descriptors.

@mk-Denver
mk-Denver marked this pull request as ready for review July 27, 2026 11:35
Copilot AI review requested due to automatic review settings July 27, 2026 11:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@mk-Denver
mk-Denver marked this pull request as draft July 27, 2026 11:53
@mk-Denver
mk-Denver marked this pull request as ready for review July 27, 2026 12:30
@mk-Denver
mk-Denver marked this pull request as draft July 28, 2026 18:53
@mk-Denver
mk-Denver force-pushed the mk/escrow-invocation branch from db2b485 to ef2ff8f Compare July 30, 2026 18:36
Added open questions regarding service invocation rules, transport strategies, HTTP authentication, and release-decision vocabulary for escrow services.
@mk-Denver
mk-Denver marked this pull request as ready for review August 1, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Define escrow service invocation in PIP-01

2 participants