Skip to content

Commit 9f96798

Browse files
committed
deploy: b844c4d
1 parent 376b2ea commit 9f96798

35 files changed

Lines changed: 1282 additions & 532 deletions

File tree

reference/animation/MPCP_ANIMATION_PACK/index.html

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1314,10 +1314,10 @@
13141314
</li>
13151315

13161316
<li class="md-nav__item">
1317-
<a href="#scene-5-ledger-anchor" class="md-nav__link">
1317+
<a href="#scene-5-policy-anchoring" class="md-nav__link">
13181318
<span class="md-ellipsis">
13191319

1320-
Scene 5 — Ledger Anchor
1320+
Scene 5 — Policy Anchoring
13211321

13221322
</span>
13231323
</a>
@@ -1425,10 +1425,10 @@
14251425
</li>
14261426

14271427
<li class="md-nav__item">
1428-
<a href="#scene-5-ledger-anchor" class="md-nav__link">
1428+
<a href="#scene-5-policy-anchoring" class="md-nav__link">
14291429
<span class="md-ellipsis">
14301430

1431-
Scene 5 — Ledger Anchor
1431+
Scene 5 — Policy Anchoring
14321432

14331433
</span>
14341434
</a>
@@ -1506,39 +1506,37 @@ <h2 id="scene-3-introducing-mpcp">Scene 3 — Introducing MPCP</h2>
15061506
15071507
SignedBudgetAuthorization (SBA)
15081508
1509-
SignedPaymentAuthorization (SPA)
1509+
Trust Gateway
15101510
1511-
SettlementIntent
1512-
1513-
Settlement</p>
1511+
XRPL Settlement</p>
15141512
<p>Narration:
15151513
"MPCP introduces a simple chain of authorization for machine payments."</p>
1516-
<p>"Policies define payment rules. Budgets define session limits. Each payment is explicitly authorized and verifiable."</p>
1514+
<p>"Policies define payment rules. Budgets define per-payment limits. The Trust Gateway verifies the chain and executes on XRPL, attaching a grant ID to every transaction for a permanent audit trail."</p>
15171515
<hr />
15181516
<h2 id="scene-4-visual-demo-autonomous-parking">Scene 4 — Visual Demo (Autonomous Parking)</h2>
15191517
<p>Visual sequence:
15201518
1. Autonomous vehicle enters parking garage
15211519
2. PolicyGrant appears
15221520
3. SignedBudgetAuthorization (SBA) appears
1523-
4. SignedPaymentAuthorization (SPA) triggers
1524-
5. Settlement confirmation</p>
1521+
4. Trust Gateway verifies chain
1522+
5. XRPL settlement confirmation with mpcp/grant-id memo</p>
15251523
<p>Narration:
15261524
"A vehicle receives a policy defining where and how it can pay."</p>
1527-
<p>"A session budget allows spending within defined limits."</p>
1528-
<p>"Each payment request is cryptographically authorized."</p>
1529-
<p>"The final settlement records the completed transaction."</p>
1525+
<p>"A budget authorization allows spending within defined limits for this payment."</p>
1526+
<p>"The Trust Gateway verifies the authorization chain and submits the XRPL transaction."</p>
1527+
<p>"The final settlement records the completed transaction on-chain."</p>
15301528
<hr />
1531-
<h2 id="scene-5-ledger-anchor">Scene 5 — Ledger Anchor</h2>
1529+
<h2 id="scene-5-policy-anchoring">Scene 5 — Policy Anchoring</h2>
15321530
<p>Visual:
1533-
Intent hash flowing into a public ledger.</p>
1531+
Policy document hash flowing into a public ledger (Hedera HCS or XRPL NFT).</p>
15341532
<p>Narration:
1535-
"An optional intent hash can be anchored to a public ledger for audit and dispute resolution."</p>
1533+
"An optional anchorRef on the PolicyGrant links it to a public ledger record — providing tamper-evident policy history for audit and dispute resolution."</p>
15361534
<hr />
15371535
<h2 id="scene-6-dispute-verification">Scene 6 — Dispute Verification</h2>
15381536
<p>Visual:
15391537
Verification chain replay.</p>
15401538
<p>Narration:
1541-
"Any dispute can be independently verified using the MPCP authorization chain."</p>
1539+
"Any dispute can be independently verified using the MPCP authorization chain and the on-chain XRPL audit trail."</p>
15421540
<hr />
15431541
<h2 id="closing-frame">Closing Frame</h2>
15441542
<p>Comparison:</p>
@@ -1561,9 +1559,9 @@ <h1 id="2-storyboard">2. Storyboard</h1>
15611559
Blocks stacking vertically</p>
15621560
<p>Scene 4
15631561
Autonomous parking example
1564-
Vehicle enters → policy → budget → payment → settlement</p>
1562+
Vehicle enters → policy → budget → Trust Gateway → XRPL settlement</p>
15651563
<p>Scene 5
1566-
Intent hash anchored to ledger</p>
1564+
Policy document anchored to ledger (Hedera HCS / XRPL NFT)</p>
15671565
<p>Scene 6
15681566
Verification replay animation</p>
15691567
<p>Closing
@@ -1575,11 +1573,11 @@ <h2 id="prompt-1-machine-economy">Prompt 1 — Machine Economy</h2>
15751573
<h2 id="prompt-2-agent-protocol-landscape">Prompt 2 — Agent Protocol Landscape</h2>
15761574
<p>"clean animated diagram showing protocols MCP A2A ACP communicating between agents and tools, arrows moving between nodes, modern developer diagram style"</p>
15771575
<h2 id="prompt-3-mpcp-authorization-chain">Prompt 3 — MPCP Authorization Chain</h2>
1578-
<p>"layered protocol diagram animation PolicyGrant SignedBudgetAuthorization SignedPaymentAuthorization SettlementIntent Settlement blocks stacking vertically with glowing arrows"</p>
1576+
<p>"layered protocol diagram animation PolicyGrant SignedBudgetAuthorization Trust Gateway XRPL Settlement blocks stacking vertically with glowing arrows"</p>
15791577
<h2 id="prompt-4-autonomous-parking-payment">Prompt 4 — Autonomous Parking Payment</h2>
15801578
<p>"autonomous car entering smart parking garage, digital authorization layers appearing around vehicle, futuristic payment confirmation animation"</p>
1581-
<h2 id="prompt-5-ledger-anchoring">Prompt 5 — Ledger Anchoring</h2>
1582-
<p>"cryptographic hash transforming into glowing data stream entering blockchain ledger block, modern protocol visualization"</p>
1579+
<h2 id="prompt-5-policy-anchoring">Prompt 5 — Policy Anchoring</h2>
1580+
<p>"cryptographic policy document transforming into glowing data stream entering blockchain ledger block, modern protocol visualization"</p>
15831581
<h2 id="prompt-6-dispute-verification">Prompt 6 — Dispute Verification</h2>
15841582
<p>"digital verification chain lighting up sequentially representing audit verification process"</p>
15851583
<hr />
@@ -1594,9 +1592,8 @@ <h1 id="4-visual-asset-guide">4. Visual Asset Guide</h1>
15941592
- Fleet Policy
15951593
- PolicyGrant
15961594
- SignedBudgetAuthorization (SBA)
1597-
- SignedPaymentAuthorization (SPA)
1598-
- SettlementIntent
1599-
- Settlement</p>
1595+
- Trust Gateway
1596+
- XRPL Settlement</p>
16001597
<p>Animation style
16011598
- minimal vector graphics
16021599
- dark or neutral background

reference/examples/charging/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1468,7 +1468,7 @@
14681468
<h1 id="charging-example">Charging Example</h1>
14691469
<p>MPCP for EV charging: variable session length, multiple kWh, charging operator destinations.</p>
14701470
<h2 id="scenario">Scenario</h2>
1471-
<p>EV connects to a charging station. The station requests payment authorization. The vehicle (or charging session manager) evaluates policy and budget, signs an SPA for the charging session, and the station verifies the MPCP chain before supplying power.</p>
1471+
<p>EV connects to a charging station. The station requests payment authorization. The vehicle (or charging session manager) evaluates policy and budget, issues an SBA for the charging session, and the station verifies the MPCP chain before supplying power. The Trust Gateway executes the XRPL payment when the session ends.</p>
14721472
<h2 id="profile">Profile</h2>
14731473
<p>The <a href="../../implementation/reference-profiles/#charging-profile">Charging reference profile</a> defines:</p>
14741474
<ul>
@@ -1493,9 +1493,9 @@ <h2 id="flow">Flow</h2>
14931493
<ol>
14941494
<li>Vehicle (or fleet) obtains PolicyGrant + SBA with charging destinations</li>
14951495
<li>Charging station requests payment (amount may be estimated or updated during session)</li>
1496-
<li>Vehicle signs SPA for the authorized amount</li>
1497-
<li>Station verifies MPCP chain</li>
1498-
<li>Power is supplied; settlement executes when session ends</li>
1496+
<li>Vehicle issues SBA for the authorized amount</li>
1497+
<li>Station verifies MPCP chain locally</li>
1498+
<li>Power is supplied; Trust Gateway submits XRPL settlement when session ends</li>
14991499
</ol>
15001500
<h2 id="run-parking-example-same-flow">Run Parking Example (Same Flow)</h2>
15011501
<p>The parking example uses the same MPCP flow. For charging, adjust:</p>

reference/examples/fleet/index.html

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1512,26 +1512,32 @@
15121512
<h1 id="fleet-example">Fleet Example</h1>
15131513
<p>Machine-to-machine payment loop for autonomous fleet vehicles.</p>
15141514
<h2 id="scenario">Scenario</h2>
1515-
<p>Robotaxi enters parking facility → parking meter sends payment request → vehicle evaluates fleet policy and session budget → vehicle signs SPApayment executes on rail → parking system verifies MPCP chain → gate opens.</p>
1515+
<p>Robotaxi enters parking facility → parking meter sends payment request → vehicle evaluates fleet policy and session budget → vehicle issues SBATrust Gateway verifies chain and executes XRPL payment → parking system verifies MPCP chain → gate opens.</p>
15161516
<h2 id="architecture">Architecture</h2>
15171517
<div class="highlight"><pre><span></span><code>┌─────────────────┐ payment request ┌─────────────────┐
15181518
│ Parking Service │ ────────────────────────► │ Vehicle Agent │
15191519
│ (meter/gate) │ │ (MPCP SDK + │
15201520
│ │ │ wallet) │
15211521
│ • request │ MPCP artifacts │ │
15221522
│ • verify │ ◄──────────────────────── │ • policy check │
1523-
└────────┬────────┘ (SBA, SPA, intent) │ • budget check │
1524-
│ │ • sign SPA
1523+
└────────┬────────┘ (PolicyGrant, SBA) │ • budget check │
1524+
│ │ • issue SBA
15251525
│ verify └────────┬────────┘
15261526
▼ │
1527-
┌─────────────────┐ │ execute
1527+
┌─────────────────┐ │ SBA to gateway
15281528
│ Verifier │ ▼
15291529
│ (local, no API) │ ┌─────────────────┐
1530-
└─────────────────┘ │ Settlement Rail │
1531-
│ │ (mock / XRPL) │
1532-
│ PASS └─────────────────┘
1533-
1534-
Gate opens
1530+
└─────────────────┘ │ Trust Gateway │
1531+
│ │ verify chain + │
1532+
│ PASS │ submit XRPL │
1533+
▼ └────────┬────────┘
1534+
Gate opens │
1535+
1536+
┌─────────────────┐
1537+
│ XRPL Ledger │
1538+
│ (mpcp/grant-id │
1539+
│ memo attached) │
1540+
└─────────────────┘
15351541
</code></pre></div>
15361542
<h2 id="components">Components</h2>
15371543
<table>
@@ -1552,11 +1558,11 @@ <h2 id="components">Components</h2>
15521558
</tr>
15531559
<tr>
15541560
<td><strong>Verifier</strong></td>
1555-
<td>Validates PolicyGrant → SBA → SPA → SettlementIntent chain</td>
1561+
<td>Validates PolicyGrant → SBA → Settlement chain</td>
15561562
</tr>
15571563
<tr>
1558-
<td><strong>Settlement Rail</strong></td>
1559-
<td>Mock rail or XRPL</td>
1564+
<td><strong>Trust Gateway</strong></td>
1565+
<td>Verifies SBA chain, submits XRPL payment with <code>mpcp/grant-id</code> memo</td>
15601566
</tr>
15611567
</tbody>
15621568
</table>
@@ -1580,7 +1586,7 @@ <h2 id="key-behaviors">Key Behaviors</h2>
15801586
<ul>
15811587
<li>Autonomous payment authorization within fleet limits</li>
15821588
<li>Session budget enforcement</li>
1583-
<li>Deterministic SettlementIntent hashing</li>
1589+
<li>Trust Gateway handles XRPL execution with on-chain audit trail</li>
15841590
<li>Verification without centralized payment infrastructure</li>
15851591
</ul>
15861592
<h2 id="see-also">See Also</h2>

reference/examples/machine-wallet-guardrails/index.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1424,13 +1424,13 @@
14241424
<h1 id="machine-wallet-guardrails-example">Machine Wallet Guardrails Example</h1>
14251425
<p>Runnable example showing how MPCP acts as a <strong>machine wallet guardrail layer</strong>.</p>
14261426
<h2 id="overview">Overview</h2>
1427-
<p>A machine wallet should not send funds unless payment requests satisfy:</p>
1427+
<p>A machine wallet should not authorize payments unless payment requests satisfy:</p>
14281428
<ul>
14291429
<li><strong>PolicyGrant</strong> constraints (rails, assets, expiration)</li>
14301430
<li><strong>SignedBudgetAuthorization</strong> session limits (max amount, destination allowlist)</li>
1431-
<li><strong>SignedPaymentAuthorization</strong> approval rules (amount binding, intent hash)</li>
14321431
</ul>
1433-
<p>This example shows the integration pattern: check all three layers before signing.</p>
1432+
<p>Once the SBA is issued, the <strong>Trust Gateway</strong> verifies the chain and executes the XRPL payment.</p>
1433+
<p>This example shows the integration pattern: check both layers before issuing an SBA.</p>
14341434
<p>This example focuses on wallet-side guardrail logic and uses a preloaded SBA-shaped authorization object rather than demonstrating full SBA issuance and signature verification.</p>
14351435
<h2 id="run">Run</h2>
14361436
<div class="highlight"><pre><span></span><code>npm<span class="w"> </span>run<span class="w"> </span>build
@@ -1441,12 +1441,12 @@ <h2 id="run">Run</h2>
14411441
</code></pre></div>
14421442
<h2 id="what-it-demonstrates">What It Demonstrates</h2>
14431443
<ol>
1444-
<li><strong>Allowed request</strong> — $15 to rParking passes all checks; SignedPaymentAuthorization is created</li>
1444+
<li><strong>Allowed request</strong> — $15 to rParking passes all checks; SignedBudgetAuthorization is created</li>
14451445
<li><strong>Wrong destination</strong> — $5 to rAttacker is rejected (not in allowlist)</li>
14461446
<li><strong>Would exceed budget</strong> — $20 to rCharging when session already spent $15 is rejected</li>
14471447
</ol>
14481448
<h2 id="guardrail-check-flow">Guardrail Check Flow</h2>
1449-
<div class="highlight"><pre><span></span><code>Payment request → PolicyGrant validation → SignedBudgetAuthorization validation → SignedPaymentAuthorization creation (or reject)
1449+
<div class="highlight"><pre><span></span><code>Payment request → PolicyGrant validation → SignedBudgetAuthorization validation → SBA issued (or reject) → Trust Gateway → XRPL
14501450
</code></pre></div>
14511451
<p>See <a href="../../implementation/machine-wallet-guardrails/">Machine Wallet Guardrails</a> for the full guide and threat model.</p>
14521452

reference/examples/parking/index.html

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1524,7 +1524,7 @@
15241524
<h1 id="parking-example">Parking Example</h1>
15251525
<p>A full MPCP settlement flow for a parking payment scenario.</p>
15261526
<h2 id="scenario">Scenario</h2>
1527-
<p>Vehicle parks at a meter or garage gate. The parking system requests payment. The vehicle evaluates fleet policy and session budget, signs an SPA, and returns the authorization. The parking system verifies the MPCP chain locally and opens the gate.</p>
1527+
<p>Vehicle parks at a meter or garage gate. The parking system requests payment. The vehicle evaluates fleet policy and session budget, issues an SBA, and presents it to the Trust Gateway. The Trust Gateway verifies the MPCP chain and executes the XRPL payment. The parking system verifies the chain locally and opens the gate.</p>
15281528
<h2 id="artifacts">Artifacts</h2>
15291529
<table>
15301530
<thead>
@@ -1547,16 +1547,8 @@ <h2 id="artifacts">Artifacts</h2>
15471547
<td>Signed budget auth (SBA)</td>
15481548
</tr>
15491549
<tr>
1550-
<td>spa.json</td>
1551-
<td>Signed payment authorization</td>
1552-
</tr>
1553-
<tr>
1554-
<td>settlement-intent.json</td>
1555-
<td>Settlement intent</td>
1556-
</tr>
1557-
<tr>
15581550
<td>settlement.json</td>
1559-
<td>Settlement result</td>
1551+
<td>Settlement result (XRPL via Trust Gateway)</td>
15601552
</tr>
15611553
<tr>
15621554
<td>settlement-bundle.json</td>
@@ -1583,7 +1575,7 @@ <h3 id="machine-wallet-guardrails">Machine Wallet Guardrails</h3>
15831575
<div class="highlight"><pre><span></span><code>npm<span class="w"> </span>run<span class="w"> </span>example:guardrails
15841576
</code></pre></div>
15851577
<h3 id="offline-payment">Offline Payment</h3>
1586-
<p>Demonstrates offline machine payments: vehicle holds pre-authorized policy chain, completes payment when network is unavailable.</p>
1578+
<p>Demonstrates offline machine payments: vehicle holds pre-authorized policy chain, authorizes payment when network is unavailable, Trust Gateway settles on XRPL when connectivity returns.</p>
15871579
<div class="highlight"><pre><span></span><code>npm<span class="w"> </span>run<span class="w"> </span>example:offline
15881580
</code></pre></div>
15891581
<p>See <a href="../../implementation/offline-payments/">Offline Payments</a>.</p>

reference/implementation/conformance/index.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,7 +1436,7 @@ <h2 id="conformance-levels">Conformance Levels</h2>
14361436
<tr>
14371437
<td><strong>Artifact</strong></td>
14381438
<td>Single artifact</td>
1439-
<td>Produces valid PolicyGrant, SBA, SPA, SettlementIntent per spec</td>
1439+
<td>Produces valid PolicyGrant and SBA per spec</td>
14401440
</tr>
14411441
<tr>
14421442
<td><strong>Chain</strong></td>
@@ -1461,8 +1461,7 @@ <h2 id="verification-vectors">Verification Vectors</h2>
14611461
<li><code>valid-settlement.json</code> — Full valid chain, must pass</li>
14621462
<li><code>expired-grant.json</code> — Expired PolicyGrant, must fail</li>
14631463
<li><code>budget-exceeded.json</code> — Amount exceeds budget, must fail</li>
1464-
<li><code>intent-hash-mismatch.json</code> — Intent hash mismatch, must fail</li>
1465-
<li><code>settlement-mismatch.json</code> — Settlement does not match SPA, must fail</li>
1464+
<li><code>settlement-mismatch.json</code> — Settlement does not match SBA constraints, must fail</li>
14661465
</ul>
14671466
<p>Run the conformance tests:</p>
14681467
<div class="highlight"><pre><span></span><code>npm<span class="w"> </span><span class="nb">test</span>
@@ -1475,7 +1474,7 @@ <h2 id="self-assessment">Self-Assessment</h2>
14751474
<li><strong>Canonical JSON</strong> — Deterministic serialization for hashing</li>
14761475
<li><strong>Domain-separated hashing</strong> — Correct prefix per artifact type</li>
14771476
<li><strong>Signature verification</strong> — Valid key resolution and signature check</li>
1478-
<li><strong>Constraint propagation</strong> — SBA ⊆ PolicyGrant, SPA ⊆ SBA</li>
1477+
<li><strong>Constraint propagation</strong> — SBA ⊆ PolicyGrant</li>
14791478
</ol>
14801479
<h2 id="see-also">See Also</h2>
14811480
<ul>

0 commit comments

Comments
 (0)