Skip to content

docs(ap2): add Settlement Attestation -- categorical post-settlement envelope (AlgoVoi-authored)#271

Open
chopmob-cloud wants to merge 4 commits into
google-agentic-commerce:mainfrom
chopmob-cloud:docs-ap2-settlement-attestation
Open

docs(ap2): add Settlement Attestation -- categorical post-settlement envelope (AlgoVoi-authored)#271
chopmob-cloud wants to merge 4 commits into
google-agentic-commerce:mainfrom
chopmob-cloud:docs-ap2-settlement-attestation

Conversation

@chopmob-cloud
Copy link
Copy Markdown

@chopmob-cloud chopmob-cloud commented May 30, 2026

Summary

Adds docs/ap2/settlement_attestation.md -- the AlgoVoi-authored Settlement Attestation format, the post-settlement categorical record emitted by a facilitator after on-chain confirmation.

  • Closed three-state enum: SETTLED / PENDING_FINALITY / REVERSED
  • settled_payment_ref binds the attestation to its Payment Mandate via JCS canonical sha256: reference
  • Canonicalised under urn:x402:canonicalisation:jcs-rfc8785-v1 (RFC 8785 JCS), byte-for-byte cross-validated across 8 independent implementations
  • Chains from Compliance Receipt (ALLOW) through to cancellation / refund in the payment lifecycle
  • Regulatory alignment: MiCA Art. 80, AMLR Art. 56, DORA Art. 14, UK MLRs 2017 Reg 40

Normative wire format: IETF Internet-Draft draft-hopley-x402-settlement-attestation (https://datatracker.ietf.org/doc/draft-hopley-x402-settlement-attestation/)

Reference implementations (Apache 2.0): algovoi-settlement-attestation on PyPI, @algovoi/settlement-attestation on npm.

Production: live against Base Sepolia (eip155:84532) since 2026-05-26.

Sibling to PR #269 (Compliance Receipt) and PR #270 (Payment Lifecycle). AP2 references the format; AP2 does not redefine it. AlgoVoi is sole author.


AlgoVoi (chopmob-cloud) -- Acquisition enquiries: https://docs.algovoi.co.uk/acquisition

…envelope (AlgoVoi-authored, MiCA Art. 80 / DORA Art. 14)
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new documentation file docs/ap2/settlement_attestation.md detailing the Settlement Attestation format, its fields, canonicalisation, and lifecycle. Feedback on the documentation suggests correcting an incorrect reference to RFC 3339 in the description of the amount_microunits field, as RFC 3339 specifies date and time formats rather than numeric string representations.

Comment thread docs/ap2/settlement_attestation.md Outdated

| Field | Type | Description |
| :---- | :--- | :---------- |
| `amount_microunits` | integer | Settled amount in chain-native microunits. MUST be integer. RFC 3339 string forms rejected. |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

The description for amount_microunits mentions "RFC 3339 string forms rejected." However, RFC 3339 is a specification for date and time formats, not numeric values. It should be updated to refer to string representations or decimal string forms instead.

Suggested change
| `amount_microunits` | integer | Settled amount in chain-native microunits. MUST be integer. RFC 3339 string forms rejected. |
| `amount_microunits` | integer | Settled amount in chain-native microunits. MUST be integer. String representations rejected. |

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.

1 participant