Skip to content

Carry resource metadata in MPP challenges#170

Merged
R-M-Naveen merged 1 commit into
mainfrom
naveen/mpp-resource-in-challenge
May 28, 2026
Merged

Carry resource metadata in MPP challenges#170
R-M-Naveen merged 1 commit into
mainfrom
naveen/mpp-resource-in-challenge

Conversation

@R-M-Naveen
Copy link
Copy Markdown
Member

Summary

  • include the payee resource URL in generated MPP challenges when a resource is known
  • place the resource under challenge.request.resource so it survives mppx credential serialization/deserialization
  • cover MPP resource propagation in @atxp/server challenge helper tests

Why

Accounts/auth can already preserve and record MPP destination resources, but live Music MPP challenges only carried the payment recipient. When several products share the same ATXP destination account, recipient-only rows fall back to the shared account label, which made Music appear as ATXP LLM Server.

Safety

This does not change payment amount, token, recipient, chain, fee payer, or transaction verification. I checked mppx@0.5.10 locally: top-level unknown challenge fields are stripped, but challenge.request is an open record and request.resource survives Credential.serialize/deserialize. Tempo createCredential/verify use amount/currency/recipient/methodDetails and ignore the extra request.resource metadata.

Validation

  • npm run test -w packages/atxp-server -- omniChallenge.test.ts
  • npm run typecheck -w packages/atxp-server
  • npm run build -w packages/atxp-server

@R-M-Naveen R-M-Naveen merged commit 0a11c66 into main May 28, 2026
1 check passed
@R-M-Naveen R-M-Naveen deleted the naveen/mpp-resource-in-challenge branch May 28, 2026 21:56
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