Skip to content

feat: add paymentMethods array to service registry#554

Merged
brendanjryan merged 5 commits intomainfrom
matthew/add-payment-method-descriptions
Apr 13, 2026
Merged

feat: add paymentMethods array to service registry#554
brendanjryan merged 5 commits intomainfrom
matthew/add-payment-method-descriptions

Conversation

@decofe
Copy link
Copy Markdown
Member

@decofe decofe commented Apr 13, 2026

Adds a paymentMethods field to every service entry in the registry. This exposes which payment protocols each service accepts (for example ["tempo", "stripe"]) so the directory UI and agents can surface supported payment methods per service.

Motivation

Services like Browserbase, Alchemy, Stripe Climate, PostalForm, and Papercut accept both Tempo stablecoins and Stripe card payments, but the registry had no way to express this — every service only declared a single payment default.

Changes

  • schemas/services.ts — added PaymentMethodId type and required paymentMethods array on ServiceDef. Populated for all 88 services based on live 402/openapi.json probes:
    • 5 services: ["tempo", "stripe"] (Browserbase, Alchemy, PostalForm, Stripe Climate, Papercut)
    • 83 services: ["tempo"]
  • scripts/generate-discovery.ts — emits paymentMethods in the generated discovery.json
  • schemas/discovery.schema.json — added paymentMethods to the schema
  • src/data/registry.ts — added paymentMethods to the client-side Service type
  • scripts/generate-discovery.test.ts — updated test fixtures

Testing

pnpm check:types  # passes
pnpm check:ci     # passes (pre-existing warnings only)
pnpm test         # 5732 tests pass

Prompted by: Matthew

Co-authored-by: Matthew <83676602+dev-slater@users.noreply.github.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019d86ac-6a5d-707a-bfdf-3f1af417e1d3
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mpp Ready Ready Preview, Comment Apr 13, 2026 9:32pm

Request Review

@github-actions
Copy link
Copy Markdown

Thanks for submitting a service to the MPP directory!

If you want your service included in the curated mpp.dev/services list, complete this checklist before review:

Required

  • Your service is live and accepting payments via MPP (not a placeholder or coming-soon)
  • You've added your entry to schemas/services.ts following the contributing guide
  • Types pass: pnpm check:types
  • Build succeeds: pnpm build

Recommended

  • Register your service on MPPScan (by Merit Systems) — it follows the standard MPP discovery format and makes your service discoverable by agents immediately, no PR required

Review criteria

We prioritize services that are high quality and novel. We may not approve services that duplicate existing functionality or aren't yet production-ready.


Contributing guide · MPPScan · Protocol docs

…te methods with intents

Instead of a flat paymentMethods: string[] that duplicates info without
carrying intents or assets, use payments: PaymentDefaults[] on ServiceDef.
This lets buildService() generate the methods object with intents and
assets co-located per method — matching the discovery spec's x-payment-info
structure where method is always paired with intent.

Multi-method services (Browserbase, Alchemy, PostalForm, Stripe Climate,
Papercut) now produce:

  methods: {
    tempo:  { intents: ['charge'], assets: ['0x20c0...'] },
    stripe: { intents: ['charge'], assets: ['usd'] }
  }

No new schema fields needed — the existing methods object handles it.
@brendanjryan
Copy link
Copy Markdown
Collaborator

made several changes to this which make it more correct -- ok to merge now

@brendanjryan brendanjryan merged commit 51c4b58 into main Apr 13, 2026
11 checks passed
@brendanjryan brendanjryan deleted the matthew/add-payment-method-descriptions branch April 13, 2026 23:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants