{"id":47902824,"url":"https://github.com/tempoxyz/mpp","last_synced_at":"2026-04-04T04:17:13.623Z","repository":{"id":345319187,"uuid":"1144842521","full_name":"tempoxyz/mpp","owner":"tempoxyz","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-02T21:31:26.000Z","size":8083,"stargazers_count":45,"open_issues_count":40,"forks_count":65,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-03T03:35:10.148Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mpp.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tempoxyz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-29T05:32:14.000Z","updated_at":"2026-04-02T21:31:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tempoxyz/mpp","commit_stats":null,"previous_names":["tempoxyz/mpp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tempoxyz/mpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tempoxyz%2Fmpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tempoxyz%2Fmpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tempoxyz%2Fmpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tempoxyz%2Fmpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tempoxyz","download_url":"https://codeload.github.com/tempoxyz/mpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tempoxyz%2Fmpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31387468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T01:22:39.193Z","status":"online","status_checked_at":"2026-04-04T02:00:07.569Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-04T04:17:12.987Z","updated_at":"2026-04-04T04:17:13.616Z","avatar_url":"https://github.com/tempoxyz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr\u003e\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://mpp.dev\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"public/lockup-light.svg\"\u003e\n      \u003cimg alt=\"Machine Payments Protocol\" src=\"public/lockup-dark.svg\" width=\"auto\" height=\"120\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n# mpp\n\nThe open protocol for machine-to-machine payments.\n\n[![Website](https://img.shields.io/badge/website-mpp.dev-black)](https://mpp.dev)\n[![IETF Spec](https://img.shields.io/badge/spec-paymentauth.org-blue)](https://paymentauth.org)\n[![License](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue)](LICENSE-MIT)\n\n[MPP](https://mpp.dev) lets any client — agents, apps, or humans — pay for any service in the same HTTP request. It standardizes [HTTP 402](https://mpp.dev/protocol/http-402) with an open [IETF specification](https://paymentauth.org), so servers can charge and clients can pay without API keys, billing accounts, or checkout flows.\n\nYou can get started today by reading the [protocol overview](https://mpp.dev/protocol/), jumping straight to the [quickstart](https://mpp.dev/quickstart/), or exploring the [SDKs](https://mpp.dev/sdk/).\n\n## What's in this repo\n\nThis repository contains the [mpp.dev](https://mpp.dev) documentation site and service directory.\n\n- **Documentation** — quickstart guides, protocol explainers, and SDK references\n- **Service Directory** — a registry of MPP-enabled services at [mpp.dev/services](https://mpp.dev/services)\n\n## Development\n\n```bash\npnpm install      # Install dependencies\npnpm run dev      # Start development server\npnpm run build    # Production build\npnpm run preview  # Preview production build\n```\n\n## Contributing to the service directory\n\nThe service directory at [mpp.dev/services](https://mpp.dev/services) is curated for live, production-ready MPP services.\n\n### Submit a pull request to this repo\n\nIf you want your service included in the curated `mpp.dev/services` list, open a PR and complete this checklist:\n\n#### Required\n\n- [ ] Your service is **live and accepting payments** via MPP (not a placeholder or coming-soon)\n- [ ] You've added your entry to `schemas/services.ts`\n- [ ] Types pass: `pnpm check:types`\n- [ ] Build succeeds: `pnpm build`\n\n#### Recommended\n\n- [ ] Register your service on [MPPScan](https://www.mppscan.com/register) (by Merit Systems) — it follows the standard MPP discovery format and makes your service discoverable by agents immediately, no PR required\n\n#### Review criteria\n\nWe prioritize services that are **high quality and novel**. We may not approve services that duplicate existing functionality or aren't yet production-ready.\n\n### Add a new service\n\n1. **Edit `schemas/services.ts`** — add a new entry to the `services` array:\n\n```ts\n{\n  id: \"my-service\",\n  name: \"My Service\",\n  url: \"https://example.com\",\n  serviceUrl: \"https://api.example.com\",\n  description: \"What your service does.\",\n  categories: [\"ai\"],\n  integration: \"first-party\",\n  tags: [\"llm\", \"chat\"],\n  docs: {\n    homepage: \"https://docs.example.com\",\n    llmsTxt: \"https://docs.example.com/llms.txt\",\n  },\n  provider: { name: \"Example Inc.\", url: \"https://example.com\" },\n  realm: MPP_REALM,\n  intent: \"charge\",\n  payment: TEMPO_PAYMENT,\n  endpoints: [\n    { route: \"POST /v1/completions\", desc: \"Generate completions\", amount: \"5000\" },\n    { route: \"GET /v1/models\", desc: \"List models\" },\n  ],\n}\n```\n\n## Contributing\n\nContributions to documentation, the service directory, and site improvements are welcome.\n\n### Pull request checklist\n\n1. **Types pass**: `pnpm check:types`\n2. **Build succeeds**: `pnpm build`\n3. **Lint passes**: `pnpm check`\n4. **E2E tests pass** (if touching terminal or interactive components): `pnpm test:e2e`\n\n### Types of contributions\n\n| Change type | Process |\n|-------------|---------|\n| Typo or editorial fix | Direct PR to `main` |\n| New documentation page | Follow existing page structure in `src/pages/` |\n| New service listing | Register on [MPPScan](https://www.mppscan.com/register) for immediate discovery; open a PR to include it in the curated `mpp.dev/services` list |\n| Service update | Edit the service entry in `schemas/services.ts`, regenerate, PR |\n| New component | Follow patterns in `src/components/` |\n| Site configuration | Open an issue first for discussion |\n\n## SDKs\n\n| Repository | Language |\n|------------|----------|\n| [wevm/mppx](https://github.com/wevm/mppx) | TypeScript |\n| [tempoxyz/pympp](https://github.com/tempoxyz/pympp) | Python |\n| [tempoxyz/mpp-rs](https://github.com/tempoxyz/mpp-rs) | Rust |\n| [tempoxyz/mpp-specs](https://github.com/tempoxyz/mpp-specs) | IETF specifications |\n\n## Security\n\nSee [`SECURITY.md`](./SECURITY.md) for reporting vulnerabilities.\n\n## License\n\nLicensed under either of [Apache License, Version 2.0](./LICENSE-APACHE) or [MIT License](./LICENSE-MIT) at your option.\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in these crates by you, as defined in the Apache-2.0 license,\nshall be dual licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftempoxyz%2Fmpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftempoxyz%2Fmpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftempoxyz%2Fmpp/lists"}