Why XRPL as the Settlement Layer
MPCP v1.0 is XRPL-primary. This page explains the design rationale behind that choice.
The Core Requirement
MPCP's authorization model requires a settlement layer that can do three things:
- Pre-reserve a budget at grant issuance — so the policy ceiling is enforced by the ledger, not by trusting the agent
- Settle individual payments against that reservation — quickly, cheaply, and with deterministic finality
- Provide an on-chain audit trail linking every payment back to its originating grant
These requirements ruled out most settlement options and pointed directly to XRPL.
XRPL Native Escrow
The most important fit is structural. MPCP's budget model works as follows:
PolicyGrant issued
↓
Trust Gateway pre-reserves budgetMinor via EscrowCreate
↓
Each SBA triggers a payment drawn against the escrow
↓
EscrowFinish on revocation / EscrowCancel on expiry
XRPL has first-class EscrowCreate, EscrowFinish, and EscrowCancel transaction types built into the protocol. No smart contract is required. The ledger itself enforces the ceiling — even if the Trust Gateway were compromised, it cannot spend more than was locked in the escrow.
This isn't replicated cleanly on other rails:
- EVM — Requires a custom smart contract to hold funds. Contract bugs become MPCP bugs. Gas costs make micro-payments expensive.
- Stripe / hosted — No concept of pre-reservation with cryptographic release conditions. Requires trusting Stripe's API at settlement time.
- Bitcoin / Lightning — No escrow with conditional release. Lightning is payment-channel based, not budget-escrow based.
Deterministic Finality
XRPL closes ledgers every 3–5 seconds with deterministic finality. There are no forks, no re-orgs, no gas auctions.
For machine payments this matters:
- A vehicle paying for charging needs confirmation before it drives away
- A parking meter needs settlement assurance before it raises the barrier
- An AI agent booking a hotel needs to know the payment cleared before confirming the reservation
EVM chains have probabilistic finality (waiting for confirmations adds latency) and gas fee variance that makes small, frequent payments unpredictable in cost.
Transaction Memo Field
XRPL payments natively support memo fields. MPCP uses this to attach mpcp/grant-id to every payment transaction:
MemoType: hex("mpcp/grant-id")
MemoData: hex(grantId)
This creates a permanent, on-chain audit trail. Auditors can independently query the ledger and sum all payments linked to a grant without trusting any MPCP-specific backend.
This is a first-class ledger feature — no side-channel, no off-chain database required. EVM does have calldata but it is not indexed in the same way and is significantly more expensive per byte.
RLUSD: Fiat-Denominated Settlement
Machine payments are operational expenses denominated in fiat. A fleet operator budgeting $50/day per vehicle needs stable, predictable costs — not exposure to XRP price movements.
RLUSD (Ripple USD) is a regulated USD stablecoin native to XRPL. It enables:
- Fiat-denominated budgets (
budgetMinorin USD cents) - No price conversion at payment time
- Institutional-grade compliance (regulated stablecoin)
MPCP policies express budgets in fiat (currency: "USD", minorUnit: 2). The Trust Gateway converts to RLUSD at settlement. This separation means policy authors never need to think about on-chain asset mechanics.
did:xrpl for Identity
MPCP uses DID-based key resolution for policy authority identity. XRPL has a native DID method (did:xrpl) that ties identity directly to the ledger:
- Policy authority keys are resolved from the XRPL ledger
- No separate identity infrastructure required
- Key rotation is an on-chain transaction, not an off-chain configuration change
This integrates naturally with MPCP's key resolution pipeline and with fleet operators who already hold XRPL accounts.
Credentials-Based Grant Revocation (XLS-70)
XRPL Credentials (XLS-70) let the PA attest on-chain that a specific grantId is active for a
subject account. Revocation is a CredentialDelete — final, queryable, and no hosted HTTP
revocation service is required for online verifiers.
Policy audit remains hash-first (Hedera HCS anchorRef or off-chain custody with
policyHash on the grant). NFToken-based anchoring and burn-to-revoke were deprecated in
favour of Credentials; see PolicyGrant — Revocation.
Low Fees
XRPL transaction fees are a fraction of a cent (typically ~0.00001 XRP). This makes MPCP viable for the full range of machine payment scenarios:
| Payment type | Typical amount | XRPL fee | Fee as % |
|---|---|---|---|
| Parking (30 min) | $1.50 | ~$0.0001 | 0.007% |
| EV charging session | $8.00 | ~$0.0001 | 0.001% |
| Toll | $0.75 | ~$0.0001 | 0.013% |
| API inference call | $0.02 | ~$0.0001 | 0.5% |
EVM gas fees at congested periods would make sub-$1 payments economically unviable. Stripe/hosted rails charge 2–3% plus fixed fees, which would consume a meaningful fraction of micro-payments.
What Other Rails Would Need
MPCP's authorization layer is designed to be extensible. Adding a new settlement rail to a future MPCP profile requires:
- Budget pre-reservation — A mechanism to lock
budgetMinorat grant issuance that the ledger enforces (not just the application) - Per-payment memo — A way to attach
grantIdto each settlement transaction for on-chain audit - Deterministic finality — Confirmation within a timeframe compatible with machine payment UX
- Low per-transaction cost — Economically viable for sub-$10 payments
XRPL satisfies all four natively. Future profiles may define how other rails satisfy these requirements — for example, an EVM profile using a smart contract escrow, or a Stripe profile using earmarked funds.
Summary
| Property | XRPL | Why it matters for MPCP |
|---|---|---|
| Native escrow | Yes | Budget ceiling enforced by ledger, not application |
| Deterministic finality | 3–5s | Machine UX requires fast confirmation |
| Memo field | Yes | On-chain grant-id audit trail |
| RLUSD stablecoin | Yes | Fiat-denominated operational budgets |
| did:xrpl identity | Yes | PA key resolution without external infrastructure |
| XLS-70 Credentials | Yes | On-chain grant liveness + CredentialDelete revocation |
| Sub-cent fees | Yes | Viable for parking, tolls, micro-payments |
XRPL is not the only possible settlement layer for MPCP — it is the one that maps most naturally to the protocol's requirements in v1.0. Other rails may be added as MPCP profiles mature.