Skip to content

Distinguish x402 receipt evidence from quote delivery - #686

Open
epistemedeus wants to merge 1 commit into
cowprotocol:mainfrom
epistemedeus:codex/x402-quote-delivery-evidence
Open

epistemedeus wants to merge 1 commit into
cowprotocol:mainfrom
epistemedeus:codex/x402-quote-delivery-evidence

Conversation

@epistemedeus

Copy link
Copy Markdown

What changes

The downloadable quote example can receive a successful PAYMENT-RESPONSE and then fail to read, parse, or find a quote in the body. The error currently prints the saved attempt but loses the receipt reference. Keep those facts separate: report a received receipt, its transaction reference and any valid reported charge even when no usable quote was returned. A valid quote with no explicit charge field reports that the charge was not supplied, rather than printing zero.

The guide explains how to preserve this evidence and ask about the original quote without making another paid request. A receipt is not proof of quote delivery or on-chain collection. No changes to signing, settlement, spend limits, retry behavior or the service.

Verification

Strict TypeScript 5.9.3 check passed with the documented x402 2.26.0 packages on Node 22. The inert executable replay ran the full downloadable script before and after the change: success, lost response, body reset, invalid JSON, missing quote, and absent charge. One synthetic signed submission per run, no chain or HTTP calls.

To rerun, place the original and proposed downloadable scripts beside the replay as quote-before.mts and quote-after.mts in a directory with the documented x402 2.26.0 dependencies and viem, then run node check-downloadable-quote.mjs.

@epistemedeus
epistemedeus requested a review from a team as a code owner November 10, 2026 02:47
@vercel

vercel Bot commented Nov 10, 2026

Copy link
Copy Markdown

@epistemedeus is attempting to deploy a commit to the cow Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 460e6600-7c90-4fb1-9c50-f2ea74f891b7
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@github-actions

Copy link
Copy Markdown


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

This branch has not been deployed

No deployments
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