Skip to content

spec: advertise Tempo charge supported modes#243

Merged
brendanjryan merged 4 commits intomainfrom
brendan/tempo-supported-modes
Apr 14, 2026
Merged

spec: advertise Tempo charge supported modes#243
brendanjryan merged 4 commits intomainfrom
brendan/tempo-supported-modes

Conversation

@brendanjryan
Copy link
Copy Markdown
Collaborator

@brendanjryan brendanjryan commented Apr 14, 2026

Summary

Not all servers want to support both tempo modes (push and pull).

Servers could decline pushes, but if they client sends a push payment ahead of decline, they would lose funds. This PR addresses this failure case by allowing servers to predeclare their supported methods first

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 14, 2026

Spec Preview

Spec Changed Artifacts
draft-card-charge-00 - HTML · TXT · XML · PDF
draft-httpauth-payment-00 - HTML · TXT · XML · PDF
draft-lightning-charge-00 - HTML · TXT · XML · PDF
draft-lightning-session-00 - HTML · TXT · XML · PDF
draft-payment-discovery-00 - HTML · TXT · XML · PDF
draft-payment-intent-charge-00 - HTML · TXT · XML · PDF
draft-payment-transport-mcp-00 - HTML · TXT · XML · PDF
draft-solana-charge-00 - HTML · TXT · XML · PDF
draft-stellar-charge-00 - HTML · TXT · XML · PDF
draft-stripe-charge-00 - HTML · TXT · XML · PDF
draft-tempo-charge-00 Yes HTML · TXT · XML · PDF
draft-tempo-session-00 - HTML · TXT · XML · PDF

Browse preview release assets

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 811a0baa47

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +188 to +189
For zero-amount charges, mode negotiation does not apply. Clients use a
`type="proof"` credential regardless of `supportedModes`.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Define zero-amount proof payload semantics

This new requirement says zero-amount charges MUST use a type="proof" credential, but the rest of this draft only specifies credential payloads and server verification logic for type="transaction" and type="hash" (see the credential and verification sections later in this same file). That leaves zero-amount flows without an interoperable wire format or validation procedure, so independent implementations can’t consistently process compliant zero-amount credentials.

Useful? React with 👍 / 👎.

Comment on lines +184 to +186
If `supportedModes` is omitted, clients MAY assume both `pull` and
`push` are supported for backwards compatibility with version 00
implementations.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Require explicit modes when omitting push support

Allowing clients to assume both modes when supportedModes is omitted conflicts with the new statement that servers only MAY support push: a server that supports only pull can still omit supportedModes, and a compliant client may then pick push and fail unnecessarily. This creates avoidable interoperability failures unless the spec requires servers to include supportedModes whenever they do not support both modes (or defines omission as a stricter default).

Useful? React with 👍 / 👎.

Adds Proof Payload section with EIP-712 domain/types, verification
procedure, and receipt generation. Addresses Codex review feedback
that type=proof was referenced but never formally defined.
@brendanjryan brendanjryan merged commit b24a5b1 into main Apr 14, 2026
4 checks passed
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.

2 participants