v2.0 · Multi-chain
Solana

Solana

High-performance L1 with sub-second finality and near-zero fees. MPP uses native SOL for on-chain micropayments.

Tx fee~0.000005 SOL
devnettestnetmainnet
Base L2

Base (Ethereum L2)

Ethereum L2 built by Coinbase. EVM-compatible with low gas and high throughput. MPP uses native ETH.

Tx fee~0.00001 ETH
sepoliamainnet

HTTP 402 payments
on any chain.

Solana and Base (Ethereum L2) out of the box. Your code calls fetch - we handle wallets, faucets, and on-chain payment. Devnet, testnet, or mainnet. Zero config.

fetch()
402
pay
retry
200 OK
Open Playground
Quick Start

Two sides. Both simple.

Client auto-handles payment flow. Server adds one middleware line. That's the entire integration.

client.ts
import { mppFetch } from "mpp-test-sdk";

// That's it. No wallet setup, no config.
const res = await mppFetch("https://api.example.com/data");
const data = await res.json();

// What happened under the hood:
// 1. SDK generated a Solana keypair
// 2. Airdropped 2 SOL from Solana faucet (devnet/testnet)
// 3. Server returned 402 Payment Required
// 4. SDK sent 0.001 SOL on Solana
// 5. Retried with payment proof → 200 OK
Protocol

The 402 flow, visualized.

HTTP 402 Payment Required exists since 1999. MPP makes it real - on Solana.

Step 01·REQUEST
const res = await mppFetch("https://api.mpp32.org/query");
Capabilities

Built for machines talking to machines.

Every design decision optimizes for developer experience and API-first workflows.

2 linesto integrate

Zero Config

Import the SDK. Call fetch. Wallet creation, faucet funding, and payment handling are all automatic. No env vars, no accounts, no onboarding flow.

RFC 7231compliant

HTTP 402 Protocol

Built on the HTTP standard for payment-required responses. Server returns 402 with payment terms, client pays, retries with proof. RESTful, stateless, inspectable.

3Solana networks

3 Networks

Test on devnet (free airdrop), testnet (free airdrop), or point at mainnet with a real wallet. Same SDK, same interface - one config flag to switch.

1 flagto go live

Production Path

Same SDK interface, same server middleware. When you're ready for production, swap one config flag. No rewrite, no new integration, no new mental model.

1 lineserver-side

Express Middleware

Server-side is a single middleware function - mpp.charge({ amount }). Drop it before any route handler. Works with existing auth, rate limiting, and error handling.

6 eventslifecycle hooks

Event Hooks

onStep callback gives you real-time visibility into the payment lifecycle. Wallet creation, faucet funding, payment submission, confirmation - all observable.

Stop mocking payments.
Start testing them.

The playground lets you fire real requests against a live Solana server -devnet, testnet, or mainnet. See every step of the 402 flow as it happens.

402
HTTP Standard
3
Solana Networks
$0
Real Cost