Skip to content

Commit 357ec47

Browse files
committed
docs: copy improvements across landing, overview, FAQ, and quickstart
- Replace 'Monetize your API' with 'Add payments to your API' everywhere - Remove 'internet-native' (4 instances) — replace with specific language - Replace 'inline' with 'in the same HTTP request/response' in user-facing pages - Replace 'Multi rail'/'Multi currency' with plain English descriptions - Convert x402 comparison from bullet list to comparison table in FAQ - Rewrite 'Why build MPP on Tempo?' to acknowledge other rails first - Remove duplicate 'What is MPP?' FAQ (already covered in overview) - Remove zero-value 'Can any Agent use MPP?' FAQ - Rename Manual mode to 'Advanced: manual mode' in server quickstart - Add '// pathUSD on Tempo' comment on first hex address in server quickstart - Update sidebar and analytics labels to match
1 parent 0d46217 commit 357ec47

6 files changed

Lines changed: 30 additions & 36 deletions

File tree

src/components/LandingPage.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -528,12 +528,12 @@ function Hero() {
528528
}}
529529
onClick={() =>
530530
captureEvent(AnalyticsEvents.LANDING_CTA_CLICKED, {
531-
cta_label: "Monetize your API",
531+
cta_label: "Add payments to your API",
532532
href: "/quickstart/server",
533533
})
534534
}
535535
>
536-
Monetize your API
536+
Add payments to your API
537537
</Link>
538538
</div>
539539
</div>
@@ -552,8 +552,8 @@ function Tagline() {
552552
className="leading-relaxed max-w-xl font-normal max-[1080px]:max-w-lg"
553553
style={{ color: "var(--vocs-text-color-secondary)" }}
554554
>
555-
The open protocol for internet-native payments. Charge for API requests,
556-
tool calls, or content. Agents, apps, and humans securely pay per request.
555+
The open protocol for machine-to-machine payments. Charge for API requests,
556+
tool calls, or content—agents and apps pay per request in the same HTTP call.
557557
</div>
558558
);
559559
}

src/pages/faq.mdx

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
# Frequently asked questions [Common questions about the Machine Payments Protocol]
22

3-
## What is MPP?
4-
5-
The Machine Payments Protocol (MPP) is an internet-native protocol that lets any client—agents, software, or humans—pay for services inline over HTTP. The protocol is payment-method agnostic, open by design, and engineered for extensibility, performance, and security.
6-
73
## Is MPP only for stablecoins?
84

95
No. MPP is payment-method agnostic—the protocol works with any payment rail.
@@ -20,21 +16,25 @@ For Tempo payments, you need a stablecoin wallet to sign transactions. The SDK a
2016

2117
Both MPP and x402 use HTTP `402` to signal that a request requires payment. The key differences:
2218

23-
- **Payment-method agnostic.** MPP supports stablecoins, cards, wallets, and custom rails through extensible payment method specifications. x402 only supports blockchains.
24-
- **Designed for production.** MPP supports idempotency, expiration, request-body binding (digest), and request-tampering mitigations as first-class primitives.
25-
- **Performant payments.** MPP's session intent enables pay-as-you-go metering for payments as small as 0.0001 USD. Sessions achieve sub-100ms latency and near-zero per-request fees by settling off-chain vouchers, enabling high-throughput applications like token streaming or content aggregation. x402 requires an on-chain transaction per request.
26-
- **Permissionless extensibility.** Anyone can author and publish a new payment method or intent specification without approval from a foundation or intermediary. Payment methods compete on adoption and are independently maintained.
27-
- **IETF standards track.** The core [Payment HTTP Authentication Scheme](https://paymentauth.org) is submitted to the IETF for standardization.
19+
| | **MPP** | **x402** |
20+
|---|---------|----------|
21+
| **Payment methods** | Stablecoins, cards, wallets, custom rails | Blockchain only |
22+
| **Production primitives** | Idempotency, expiration, request-body binding, tampering mitigations | Limited |
23+
| **Low-value payments** | Session intent: sub-100ms latency, near-zero per-request fees via off-chain vouchers | On-chain transaction per request |
24+
| **Extensibility** | Anyone can author and publish new payment methods or intents | Foundation-controlled |
25+
| **Standardization** | [IETF standards track](https://paymentauth.org) | Not submitted |
2826

2927
## Is MPP compatible with x402?
3028

3129
Yes. The core x402 "exact" flows map directly onto MPP's charge intent. MPP clients can consume existing x402 services. MPP extends beyond x402 with idempotency, receipts, request binding, multiple payment methods including stablecoins and fiat, and efficient low-cost flows like sessions.
3230

3331
## Why build MPP on Tempo?
3432

35-
High-throughput, low-value transactions require specific properties from the settlement layer:
33+
MPP works with any payment rail—Stripe for cards, Lightning for Bitcoin, or any custom method. You don't have to use Tempo.
34+
35+
That said, high-throughput, low-value transactions benefit from specific properties that Tempo provides:
3636

37-
- **Fast, deterministic finality**Tempo consensus provides certainty that a payment has settled, not probabilistic confirmation.
37+
- **Fast, deterministic finality**Certainty that a payment has settled, not probabilistic confirmation.
3838
- **Low, predictable cost**—Transaction fees stay stable regardless of global network congestion.
3939
- **Payment lanes**—Dedicated transaction routing for payment traffic, ensuring reliability even under heavy load.
4040
- **Stablecoin-native**—TIP-20 stablecoins (USDC, USDT) are first-class citizens, so payments are denominated in familiar currency.
@@ -59,12 +59,6 @@ MPP requires TLS 1.2+ for all connections. Challenge IDs are cryptographically b
5959

6060
Payments use the same security model as the underlying payment method. For Tempo, that means cryptographic signatures over every transaction. For Stripe, it means Stripe's existing fraud and dispute infrastructure.
6161

62-
## Can any agent use MPP?
63-
64-
Yes. Any agent can interact with MPP services via a compatible CLI or SDK. The [quickstart guide](/quickstart/agent) has copy-paste setup instructions for Claude, Codex, and Amp.
65-
66-
For programmatic integration, the [TypeScript](/sdk/typescript), [Python](/sdk/python), and [Rust](/sdk/rust) SDKs provide native support.
67-
6862
## What happens if a payment fails?
6963

7064
The service returns an error with details following [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) (Problem Details for HTTP APIs). Your client can retry with a different payment method or surface the error. No money is deducted for failed requests.

src/pages/overview.mdx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ import { TerminalPing } from '../components/TerminalPing'
44
import { TypeScriptSdkCard, PythonSdkCard, RustSdkCard, QuickstartCard, ProtocolConceptsCard } from '../components/cards'
55
import { PaymentFlowDiagram } from '../components/PaymentFlowDiagram'
66

7-
# Machine Payments Protocol [The open protocol for internet-native payments]
7+
# Machine Payments Protocol [The open protocol for machine-to-machine payments]
88

9-
The Machine Payments Protocol (MPP) lets any client—agents, apps, or humans—pay for any service, inline, over HTTP. Developers use MPP to let their agents pay for services. Service operators use MPP to monetize their APIs.
9+
The Machine Payments Protocol (MPP) lets any client—agents, apps, or humans—pay for any service in the same HTTP request. Developers use MPP to let their agents pay for services. Service operators use MPP to accept payments for their APIs.
1010

1111
MPP is built around a simple extensible core and is neutral to the implementation of underlying payment flows and methods.
1212

1313
- **Open standard built for the internet**—Built on an [open specification proposed to the IETF](https://paymentauth.org), not a proprietary API
1414
- **Designed for payments**—Idempotency, security, and receipts are first-class primitives
15-
- **Multi rail**—Stablecoins, cards, bank transfers, and digital wallets. All payment methods can be supported through one protocol and flexible control flow
16-
- **Multi currency**The protocol is currency agnostic, allowing for transactions in USD, EUR, BRL, USDC, BTC, or any other asset
15+
- **Works with stablecoins, cards, and bank transfers**All payment methods can be supported through one protocol and flexible control flow
16+
- **Any currency**Transact in USD, EUR, BRL, USDC, BTC, or any other asset
1717
- **Composable and designed for extension**—A flexible core allows advanced flows like disputes or additional primitives like identity to be gradually introduced
1818

1919
## Who is MPP for?
@@ -22,7 +22,7 @@ MPP involves three parties:
2222

2323
- **Developers** build apps and agents that consume paid services. You integrate an MPP client so your agent can discover, pay for, and use third-party APIs without manual signup or API keys.
2424
- **Agents** are the entities that take action—calling APIs, generating images, querying data. They pay for services autonomously on behalf of your users.
25-
- **Services** operate APIs that charge for access—LLM inference, image generation, web search, and more. You integrate an MPP server to accept payments inline with zero onboarding friction.
25+
- **Services** operate APIs that charge for access—LLM inference, image generation, web search, and more. You integrate an MPP server to accept payments with zero onboarding friction.
2626

2727
## The problem with payments on the internet
2828

@@ -32,7 +32,7 @@ However, the very things that make these payment flows familiar and fast for hum
3232

3333
This is not the fault of any individual payment method or credential. This is a global problem which exists at the _interface_ level: how buyer and seller negotiate cost, supported payment methods, and ultimately transact.
3434

35-
The Machine Payments Protocol addresses this gap by providing an internet-native payment interface that strips away the complexity of rich checkout flows, while still providing robust security and reliability. By using MPP, you can accept payments from any clientagents, apps, or humansand across any payment method, without the need for a complex checkout flows and integrations.
35+
The Machine Payments Protocol addresses this gap by providing a payment interface built for programmatic access that strips away the complexity of rich checkout flows, while still providing robust security and reliability. By using MPP, you can accept payments from any clientagents, apps, or humansand across any payment method, without complex checkout flows and integrations.
3636

3737
## Try it out
3838

@@ -45,9 +45,9 @@ See the full payment flow in action. The terminal creates an ephemeral wallet, f
4545
## Use cases
4646

4747
* **Pay for LLM usage**—Your agent calls LLM providers through MPP, paying per token over a Tempo session. No API key management needed.
48-
* **Generate an image**—Request image generation from fal.ai or ElevenLabs audio, paying per request with a Tempo charge. The agent gets the result inline.
48+
* **Generate an image**—Request image generation from fal.ai or ElevenLabs audio, paying per request with a Tempo charge. The agent gets the result in the same response.
4949
* **Search the web**—Query Parallel for real-time search results, paying per query over a Tempo session. Results flow back in the same HTTP response.
50-
* **Monetize your API**—Accept payments from any client—agents, apps, or humans—without requiring signups, billing accounts, or API keys.
50+
* **Accept payments for your API**—Accept payments from any client—agents, apps, or humans—without requiring signups, billing accounts, or API keys.
5151

5252
## Payment flow
5353

src/pages/protocol/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { PaymentFlowDiagram } from "../../components/PaymentFlowDiagram";
33

44
# Protocol overview [Standardizing HTTP 402 for machine-to-machine payments]
55

6-
The Machine Payments Protocol (MPP) is an internet-native protocol for machine-to-machine payments. It standardizes HTTP `402` "Payment Required" with an extensible framework that works with any payment network.
6+
The Machine Payments Protocol (MPP) is a protocol for machine-to-machine payments. It standardizes HTTP `402` "Payment Required" with an extensible framework that works with any payment network.
77

88
These docs provide a developer-friendly overview. For the full specification, see the full [IETF Specification](https://paymentauth.org).
99

src/pages/quickstart/server.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ import { Badge, Cards } from 'vocs'
22
import { ServerPrompt } from '../../components/QuickstartPrompt'
33
import { ClientQuickstartCard, TempoMethodCard, MppxCreateReferenceCard } from '../../components/cards'
44

5-
# Monetize your API [Charge for access to protected resources]
5+
# Add payments to your API [Charge for access to protected resources]
66

77
## Overview
88

99
This quickstart demonstrates how to plug MPP into any server framework to accept payments for protected resources. Pick the path that suits you:
1010

1111
- [**Prompt mode**](#prompt-mode): paste a prompt into your coding agent and build in one prompt
1212
- [**Framework mode**](#framework-mode): use `mppx` middleware for Next.js, Hono, Elysia, or Express
13-
- [**Manual mode**](#manual-mode): call `mppx/server` directly with the Fetch API
13+
- [**Manual mode**](#advanced-manual-mode): call `mppx/server` directly with the Fetch API
1414

1515
## Prompt mode
1616

@@ -30,7 +30,7 @@ import { Mppx, tempo } from 'mppx/nextjs'
3030
// [!code hl:start]
3131
const mppx = Mppx.create({
3232
methods: [tempo({
33-
currency: '0x20c0000000000000000000000000000000000000',
33+
currency: '0x20c0000000000000000000000000000000000000', // pathUSD on Tempo
3434
recipient: '0xa726a1CD723409074DF9108A2187cfA19899aCF8',
3535
})],
3636
})
@@ -119,10 +119,10 @@ mppx.charge({
119119
:::
120120

121121
:::note
122-
Don't see your framework? `mppx` is designed to be framework-agnostic. See [Manual mode](#manual-mode) below.
122+
Don't see your framework? `mppx` is designed to be framework-agnostic. See [Manual mode](#advanced-manual-mode) below.
123123
:::
124124

125-
## Manual mode
125+
## Advanced: manual mode
126126

127127
If you prefer full control over the payment flow, use `mppx/server` directly with the Fetch API.
128128

vocs.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export default defineConfig({
9595
text: "Quick Start",
9696
items: [
9797
{ text: "Overview", link: "/quickstart" },
98-
{ text: "Monetize your service", link: "/quickstart/server" },
98+
{ text: "Add payments to your API", link: "/quickstart/server" },
9999
{ text: "Use with agents", link: "/quickstart/agent" },
100100
{ text: "Use with your app", link: "/quickstart/client" },
101101
],

0 commit comments

Comments
 (0)