Skip to content

Commit 02c473c

Browse files
naoryNAOR YUVAL
andauthored
chore: update landing page for SECOP accuracy (#1)
* chore: update landing page for SECOP accuracy - Replace "settlement-agnostic" with "multi-rail" (MPCP is rail-aware via allowedRails on grants) - Update diagram to use MPCP terminology (PolicyGrant, SBA, Trust Gateway) with sub-labels explaining each step - Add Trust Gateway as a distinct step in the authorization chain - Change badge from "Protocol v1.0" to "Open Protocol" - Rewrite "How MPCP works" to describe PA → wallet → gateway flow - Add gateway enforcement to key characteristics - Expand Explore section with Trust Gateway and Wallet SDK cards - Add OG/Twitter meta tags for social sharing - Update footer with Gateway and Wallet SDK repo links Made-with: Cursor * fix: landing page is XRPL-specific per SECOP conformance MPCP v1.0 conformance requires allowedRails: ["xrpl"] only. Update landing page to reflect XRPL-native settlement instead of multi-rail messaging. Made-with: Cursor --------- Co-authored-by: NAOR YUVAL <naoryuval@NAORs-MacBook-Air.local>
1 parent b844c4d commit 02c473c

2 files changed

Lines changed: 52 additions & 29 deletions

File tree

.DS_Store

8 KB
Binary file not shown.

index.html

Lines changed: 52 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,14 @@
44
<meta charset="UTF-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
66
<title>Machine Payment Control Protocol (MPCP)</title>
7-
<meta name="description" content="The authorization layer for machine commerce. Verifiable machine-to-service payments. Bounded authorization, deterministic verification, settlement-agnostic.">
7+
<meta name="description" content="The authorization layer for machine commerce. Verifiable machine-to-service payments with bounded authorization, deterministic verification, and XRPL settlement.">
8+
<meta property="og:title" content="Machine Payment Control Protocol (MPCP)">
9+
<meta property="og:description" content="The authorization layer for machine commerce. Bounded authorization, deterministic verification, XRPL settlement.">
10+
<meta property="og:type" content="website">
11+
<meta property="og:url" content="https://mpcp-protocol.github.io/">
12+
<meta name="twitter:card" content="summary">
13+
<meta name="twitter:title" content="Machine Payment Control Protocol (MPCP)">
14+
<meta name="twitter:description" content="The authorization layer for machine commerce. Bounded authorization, deterministic verification, XRPL settlement.">
815
<link rel="preconnect" href="https://fonts.googleapis.com">
916
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
1017
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
@@ -199,13 +206,14 @@
199206
}
200207

201208
.cta {
202-
display: flex;
203-
flex-wrap: wrap;
209+
display: grid;
210+
grid-template-columns: 1fr 1fr;
204211
gap: 1rem;
205212
margin-top: 2rem;
206213
padding-top: 2rem;
207214
border-top: 1px solid var(--border);
208215
}
216+
@media (max-width: 520px) { .cta { grid-template-columns: 1fr; } }
209217
.cta a {
210218
display: flex;
211219
flex-direction: column;
@@ -218,7 +226,6 @@
218226
color: var(--text);
219227
font-weight: 500;
220228
transition: border-color 0.2s, background 0.2s;
221-
min-width: 200px;
222229
}
223230
.cta a:hover {
224231
border-color: var(--accent);
@@ -252,16 +259,17 @@
252259
</nav>
253260

254261
<header>
255-
<span class="badge">Protocol v1.0</span>
262+
<span class="badge">Open Protocol</span>
256263
<h1>Machine Payment Control Protocol (MPCP)</h1>
257264
<p class="tagline">The authorization layer for machine commerce.</p>
258265
</header>
259266
<section class="diagram">
260-
<svg viewBox="0 0 900 420" width="100%" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="diagram-title">
267+
<svg viewBox="0 0 900 500" width="100%" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="diagram-title">
261268
<title id="diagram-title">MPCP authorization chain vs traditional payment flow</title>
262269
<style>
263270
.box { fill:#1a2332; stroke:#2d3a4d; stroke-width:1.5; rx:10; }
264271
.label { fill:#e6edf3; font-family:'DM Sans',sans-serif; font-size:14px; text-anchor:middle; }
272+
.sub-label { fill:#8b9cb7; font-family:'DM Sans',sans-serif; font-size:11px; text-anchor:middle; }
265273
.title { fill:#8b9cb7; font-size:13px; }
266274
.arrow { stroke:#58a6ff; stroke-width:2; marker-end:url(#arrowhead); }
267275
</style>
@@ -283,28 +291,32 @@ <h1>Machine Payment Control Protocol (MPCP)</h1>
283291
<text x="225" y="217" class="label">Payment executed</text>
284292

285293
<!-- Divider -->
286-
<line x1="450" y1="60" x2="450" y2="360" stroke="#2d3a4d"/>
294+
<line x1="450" y1="60" x2="450" y2="440" stroke="#2d3a4d"/>
287295

288296
<!-- MPCP -->
289297
<text x="675" y="40" class="label title">MPCP authorization chain</text>
290298

291-
<rect x="560" y="70" width="230" height="45" class="box"/>
292-
<text x="675" y="98" class="label">Policy</text>
299+
<rect x="560" y="70" width="230" height="55" class="box"/>
300+
<text x="675" y="94" class="label">PolicyGrant</text>
301+
<text x="675" y="112" class="sub-label">rails, purposes, budget, expiry</text>
293302

294-
<line x1="675" y1="115" x2="675" y2="155" class="arrow"/>
303+
<line x1="675" y1="125" x2="675" y2="165" class="arrow"/>
295304

296-
<rect x="560" y="155" width="230" height="45" class="box"/>
297-
<text x="675" y="183" class="label">Budget Authorization</text>
305+
<rect x="560" y="165" width="230" height="55" class="box"/>
306+
<text x="675" y="189" class="label">Signed Budget Auth (SBA)</text>
307+
<text x="675" y="207" class="sub-label">per-payment budget + destination</text>
298308

299-
<line x1="675" y1="200" x2="675" y2="240" class="arrow"/>
309+
<line x1="675" y1="220" x2="675" y2="260" class="arrow"/>
300310

301-
<rect x="560" y="240" width="230" height="45" class="box"/>
302-
<text x="675" y="268" class="label">Trust Gateway</text>
311+
<rect x="560" y="260" width="230" height="55" class="box" style="stroke:#2dd4bf"/>
312+
<text x="675" y="284" class="label">Trust Gateway</text>
313+
<text x="675" y="302" class="sub-label">verifies chain, enforces policy</text>
303314

304-
<line x1="675" y1="285" x2="675" y2="325" class="arrow"/>
315+
<line x1="675" y1="315" x2="675" y2="355" class="arrow"/>
305316

306-
<rect x="560" y="325" width="230" height="45" class="box"/>
307-
<text x="675" y="353" class="label">Settlement</text>
317+
<rect x="560" y="355" width="230" height="55" class="box" style="stroke:#a78bfa"/>
318+
<text x="675" y="379" class="label">XRPL Settlement</text>
319+
<text x="675" y="397" class="sub-label">RLUSD, XRP, IOU — txHash receipt</text>
308320
</svg>
309321
</section>
310322

@@ -316,7 +328,7 @@ <h2>The problem</h2>
316328

317329
<section>
318330
<h2>How MPCP works</h2>
319-
<p>A payment is accepted only if the recipient can verify a chain of signed artifacts. Each step narrows what the machine is allowed to do. As shown above, MPCP flows from policy through budget and payment authorization to settlement.</p>
331+
<p>A Policy Authority issues a signed PolicyGrant that defines what a machine can spend — purposes, destinations, and budget ceiling. The machine's wallet signs a per-payment SBA within those bounds. A Trust Gateway verifies the full chain before submitting the XRPL transaction.</p>
320332
<p><strong>MPCP is to machine payments what OAuth is to API authorization.</strong></p>
321333
<a href="/spec/architecture/fleet-ev-reference-flow/" class="dive-in">View the Fleet-EV reference flow →</a>
322334
<a href="/spec/architecture/human-agent-reference-flow/" class="dive-in">View the Human-Agent reference flow →</a>
@@ -325,11 +337,12 @@ <h2>How MPCP works</h2>
325337
<section>
326338
<h2>Key characteristics</h2>
327339
<ul class="bullets">
328-
<li><strong>Bounded authorization</strong> — Pre-authorized budgets, not per-transaction approval</li>
329-
<li><strong>Deterministic verification</strong> — Every settlement verifiable against the authorization chain</li>
330-
<li><strong>Settlement-agnostic</strong> — Works with XRPL, EVM, Stripe, hosted providers</li>
331-
<li><strong>Offline-capable</strong> — Payments can complete when the network is unavailable</li>
332-
<li><strong>Policy-first</strong> — All spending derives from explicit policy rules</li>
340+
<li><strong>Bounded authorization</strong> — Pre-authorized budgets with purpose, destination, and rail constraints</li>
341+
<li><strong>Deterministic verification</strong> — Every settlement verifiable against the signed authorization chain</li>
342+
<li><strong>XRPL-native</strong> — Settles on the XRP Ledger; <code>allowedRails: ["xrpl"]</code> is the conformance requirement</li>
343+
<li><strong>Gateway enforcement</strong> — Trust Gateway validates the full chain before settlement executes</li>
344+
<li><strong>Offline-capable</strong> — Pre-loaded grants and Trust Bundles enable payments without connectivity</li>
345+
<li><strong>Policy-first</strong> — All spending derives from PA-signed PolicyGrants with explicit constraints</li>
333346
</ul>
334347
</section>
335348

@@ -338,20 +351,30 @@ <h2>Explore</h2>
338351
<div class="cta">
339352
<a href="/spec/" class="spec">
340353
<strong>Specification</strong>
341-
<span>Protocol, architecture, artifacts, guides</span>
354+
<span>Protocol, architecture, artifacts, security</span>
342355
</a>
343356
<a href="/reference/" class="ref">
344-
<strong>Reference implementation</strong>
345-
<span>SDK, verifier, CLI, examples</span>
357+
<strong>Reference SDK</strong>
358+
<span>Create and verify PolicyGrants, SBAs, Trust Bundles</span>
359+
</a>
360+
<a href="https://github.com/mpcp-protocol/mpcp-gateway">
361+
<strong>Trust Gateway</strong>
362+
<span>Budget enforcement, x402, signed receipts</span>
363+
</a>
364+
<a href="https://github.com/mpcp-protocol/mpcp-wallet-sdk">
365+
<strong>Wallet SDK</strong>
366+
<span>Agent wallet, React hooks, session management</span>
346367
</a>
347368
</div>
348369
</section>
349370
</main>
350371

351372
<footer>
352373
<a href="https://github.com/mpcp-protocol">GitHub</a> ·
353-
<a href="https://github.com/mpcp-protocol/mpcp-spec">mpcp-spec</a> ·
354-
<a href="https://github.com/mpcp-protocol/mpcp-reference">mpcp-reference</a>
374+
<a href="https://github.com/mpcp-protocol/mpcp-spec">Spec</a> ·
375+
<a href="https://github.com/mpcp-protocol/mpcp-reference">Reference</a> ·
376+
<a href="https://github.com/mpcp-protocol/mpcp-gateway">Gateway</a> ·
377+
<a href="https://github.com/mpcp-protocol/mpcp-wallet-sdk">Wallet SDK</a>
355378
</footer>
356379
</body>
357380
</html>

0 commit comments

Comments
 (0)