Stripe brings tradfi merchant distribution. Solana brings DeFi yield distribution. mppsol is the connector — atomic on-chain settlement for payments originating in EVM contracts.
Stripe and Tempo Labs shipped the Machine Payments Protocol — the IETF-draft HTTP 402 standard for machine payments. The Solana Foundation shipped @solana/mpp as the official Solana implementation in March 2026, covering Solana-native HTTP-402 flows in five languages.
What neither covers: payments that originate in EVM contracts and need to settle atomically on Solana with verifiable on-chain receipts. mppsol fills that gap with on-chain Anchor programs plus a Solidity contract pattern, composed over a real cross-chain bridge (Chainlink CCIP).
The distribution thesis: Stripe owns tradfi merchant distribution; Solana owns DeFi yield distribution. mppsol is the connector. soltempo is the first concrete consumer — Solana DeFi yield account for Tempo merchants, demonstrating the thesis end-to-end.
Solana Anchor program for cross-VM session payments. EVM-side payer pre-authorizes a Solana-side spending budget; off-chain debits batched and settled on-chain via Ed25519 voucher verification. Live on devnet.
Solana Anchor program for atomic settlement. Other Solana programs CPI into it to receive cross-VM payment intents and emit Receipt PDAs that bind the settlement to its EVM origin. Live on devnet.
Standardized cross-VM settlement intent emitter. Lives on Tempo (or any Reth-based EVM L1). v0.2 — coming.
Bridge messaging via Chainlink CCIP — the canonical cross-chain rail Tempo activated at mainnet. v0.2 — coming.
@solana/mpp
@solana/mpp owns Solana-native HTTP-402 payments. mppsol owns cross-VM settlement. They compose for users who need both.
| Layer | Owner |
|---|---|
| HTTP 402 wire protocol on Solana | @solana/mpp (Foundation) |
| Solana payment session SDK | @solana/mpp |
| Cross-VM settlement (EVM ↔ Solana) | mppsol |
| Cross-chain messaging | Chainlink CCIP |
mppsol does not depend on @solana/mpp at v0.1 (on-chain Anchor programs only — no npm dependency surface). A v0.2 TS SDK will depend on it (pinned exact version, types wrapped) where the cross-VM flow needs HTTP-402 composition.
| Capability | Status | Notes |
|---|---|---|
mppsol_session Anchor program | ✓ on devnet | PDA escrow, Ed25519 batched settle, Open/Settle/Topup/Revoke/Close lifecycle |
mppsol_cpi Anchor program | ✓ on devnet | Atomic settlement + Receipt PDA emission |
| Anchor tests | ✓ 12 passing | Localnet integration suite |
| Spec documents | ⚠ being rewritten | Currently HTTP-402-era; cross-VM rewrite in progress |
| Tempo Solidity contracts | ⏳ planned v0.2 | Standardized cross-VM intent emitter |
| Chainlink CCIP integration | ⏳ planned v0.2 | Bridge messaging layer |
| End-to-end cross-VM demo | ⏳ planned v0.2 | Via soltempo |
@mppsol/core, /server, /agent npm packages | ⚠ deprecated | Use @solana/mpp. Packages remain published at 0.1.0-draft.4 for existing consumers. |
| Mainnet Anchor deployment | ⏳ pending | Audit + multisig transition of upgrade authority |
| Program | ID |
|---|---|
mppsol_session |
B7joeuXq...VdfbI |
mppsol_cpi |
624xocts...AY14j |
test_consumer test-only |
65ndFCiY...y3Ex |
IDLs are uploaded on-chain — fetch via Program.fetchIdl(programId, provider).
| Repo | What it is | Status |
|---|---|---|
mppsol/spec |
This repo — cross-VM settlement spec + landing site at mppsol.org | active |
mppsol/cpi |
Two Anchor programs deployed on devnet | active |
mppsol/soltempo |
First consumer — Solana DeFi yield account for Tempo merchants | scaffolded · v0.1 in build |
mppsol/sdk |
TS packages — use @solana/mpp instead |
deprecated |
The v0.1 specs were written for the HTTP-402-on-Solana framing and are being migrated to match the cross-VM positioning. Treat current content as historical reference until the rewrite ships.
HTTP header format, both settlement schemes, Ed25519 signing.
On-chain session program: PDA layout, instruction set, lifecycle.
CPI primitive design + v0.1 implementation notes.
Operator guidance: confirmation levels, batching, Token-2022.
Threat model, replay protection, cluster confusion attacks.