Skip to content

Conversation

@jithinraj
Copy link
Contributor

@jithinraj jithinraj commented Dec 22, 2025

Description

Add PEAC Protocol to the x402 ecosystem page.

PEAC Protocol adds verifiable interaction records to x402 payment flows.

After an HTTP 402 payment succeeds, the server can return a signed PEAC receipt that binds the payment proof, request/response, and policy terms into a portable record. Anyone can verify it independently (including offline) for reconciliation, disputes, and audits—without relying on either party's internal logs.

Project Details:

Tests

This PR only adds a new partner metadata JSON file to the ecosystem page. No code logic changes.

  • Verified the metadata.json follows the standard template format
  • Confirmed the logo file exists at /logos/peac-protocol.svg

Checklist

  • I have formatted and linted my code
  • All new and existing tests pass
  • My commits are signed (required for merge)

@cb-heimdall
Copy link

cb-heimdall commented Dec 22, 2025

✅ Heimdall Review Status

Requirement Status More Info
Reviews 1/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@vercel
Copy link

vercel bot commented Dec 22, 2025

@jithinraj is attempting to deploy a commit to the Coinbase Team on Vercel.

A member of the Team first needs to authorize it.

@Must-be-Ash
Copy link
Contributor

Hi there! Please sign your commit
Screenshot 2025-12-23 at 1 05 03 PM

@jithinraj jithinraj force-pushed the ecosystem/peac-protocol branch from d757b97 to 948ca81 Compare December 24, 2025 06:20
@jithinraj
Copy link
Contributor Author

Hi there! Please sign your commit Screenshot 2025-12-23 at 1 05 03 PM

done.

@jithinraj
Copy link
Contributor Author

Hi @Must-be-Ash and @phdargen, signed the commit. Could you please review?

@Must-be-Ash
Copy link
Contributor

Hi there, love this submission and I think it'd make an awesome extension!

If I'm not mistaking right now to use PEAC receipts, the merchant needs to use a custom request/response format instead of the standard x402 specification, which is totally fine and not a blocker to join the ecosystem page but it does means existing clients won't be compatible with it. I'm looping in @phdargen to take a look as well since I could be wrong about this.

Would you consider making PEAC receipts work as an x402 v2 extension? You could use the standard x402 payment flow so any x402 client can pay and have PEAC receipt capability in the extensions field, and still issue receipts in the PEAC-Receipt header just like you do now. Your 402 response would use the standard x402 format with {x402Version: 2, accepts: [...], extensions: {"peac-receipts": {...}}}.

@jithinraj
Copy link
Contributor Author

jithinraj commented Jan 9, 2026

Hi there, thanks for the close read @Must-be-Ash!

You caught it - our MCP demo uses convenience headers (X-402-Session/X-402-Proof) that look like a custom flow. But underneath, @peac/rails-x402 is standard x402 v2:

  • Uses canonical Payment-* headers
  • No custom payment format required
  • Existing x402 clients work unchanged

PEAC just adds an optional PEAC-Receipt header on the 200 response - clients can ignore it if they don't need receipts.

Love the extension idea for discoverability. We'll add extensions.peac-receipts to the 402 challenge and update the demo to clearly separate the pure x402 v2 path from the MCP wrapper.

@phdargen any preferred convention for extension keys?

@jithinraj
Copy link
Contributor Author

jithinraj commented Jan 9, 2026

Done! Updated the demo with the extension approach.

The 402 now includes:

"extensions": {
  "peac-receipts": {
    "version": "0.9.27",
    "receiptHeader": "PEAC-Receipt",
    "issuer": "https://x402.peacprotocol.org",
    "jwksUri": "https://x402.peacprotocol.org/.well-known/jwks.json"
  }
}

Also added clear docs separating pure x402 v2 from the MCP convenience wrapper.

Live at https://x402.peacprotocol.org

Still curious about extension key conventions if there's a standard pattern.

@jithinraj
Copy link
Contributor Author

Hi there, love this submission and I think it'd make an awesome extension!

If I'm not mistaking right now to use PEAC receipts, the merchant needs to use a custom request/response format instead of the standard x402 specification, which is totally fine and not a blocker to join the ecosystem page but it does means existing clients won't be compatible with it. I'm looping in @phdargen to take a look as well since I could be wrong about this.

Would you consider making PEAC receipts work as an x402 v2 extension? You could use the standard x402 payment flow so any x402 client can pay and have PEAC receipt capability in the extensions field, and still issue receipts in the PEAC-Receipt header just like you do now. Your 402 response would use the standard x402 format with {x402Version: 2, accepts: [...], extensions: {"peac-receipts": {...}}}.

Hey @Must-be-Ash @phdargen - following up on this. We've updated the demo based on your extension feedback and it's live at https://x402.peacprotocol.org/.

Happy to revise the PR description or make other changes if helpful. Let us know!

Copy link
Contributor

@Must-be-Ash Must-be-Ash left a comment

Choose a reason for hiding this comment

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

thank you!

@Must-be-Ash Must-be-Ash merged commit d6c8b55 into coinbase:main Jan 13, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants