MPP Protocol Compatibility

IndieGent works with MPP-enabled APIs automatically. No extra setup needed.

What is MPP?

The Machine Payments Protocol (MPP) is an emerging IETF standards-track protocol designed for machine-to-machine payments over HTTP. It's one of several approaches being developed to solve the same problem IndieGent solves: how do AI agents pay for services?

MPP uses the HTTP 402 Payment Required status code with a WWW-Authenticate: Payment header to tell an agent how to pay. The agent pays, then retries the request with an Authorization: Payment credential.


How IndieGent Handles MPP

If your agent — using the IndieGent SDK — encounters an API that uses MPP, payment is handled automatically. You don't need to know the API uses MPP. You don't need to configure anything. The SDK detects the protocol, pays from your agent's wallet, and retries.

import { IndieGent } from "@indiegent/sdk";

const agent = new IndieGent({
  apiKey: process.env.INDIEGENT_API_KEY,
});

// This API happens to use MPP — your agent doesn't care
const res = await agent.fetch("https://some-mpp-api.com/data");
const data = await res.json();
// SDK detected the MPP 402, paid automatically, retried

How MPP Works (Technical)

For those who want to understand the protocol under the hood:

1. Agent makes a request

GET /resource HTTP/1.1
Host: api.example.com

2. Server returns 402 with payment instructions

HTTP/1.1 402 Payment Required
WWW-Authenticate: Payment type="exact",
  chain="base",
  currency="USDC",
  amount="10000",
  address="0xServiceWallet...",
  maxAge=300

3. Agent pays and retries

GET /resource HTTP/1.1
Host: api.example.com
Authorization: Payment credential="0xTxHash...",
  chain="base",
  currency="USDC"

4. Server verifies and responds

HTTP/1.1 200 OK
Payment-Receipt: status="success", txHash="0x..."

{ "data": "..." }

MPP vs IndieGent Marketplace

MPP is a payment protocol — it defines how agents and services negotiate payments over HTTP. IndieGent is a full platform — wallets, funding, spending caps, dashboard, marketplace, and payment protocol support.

MPP (Protocol)IndieGent (Platform)
What it isPayment standard for HTTP APIsFull wallet + marketplace platform
Wallet managementNot included — bring your ownCreate, fund, manage, monitor wallets
FundingNot includedCredit card via Coinbase, or direct USDC
Spending controlsNot includedPer-agent caps, auto-topup, dashboard
Service discoveryNot includedMarketplace with flights, email, search, etc.
MPP supportNativeFull compatibility via SDK

Think of it like this: MPP is a payment rail (like Visa's network). IndieGent is the full banking experience (like the bank that issues your Visa card). IndieGent uses MPP as one of several supported payment rails.


When Does This Matter?

If you use the IndieGent marketplace, you don't need to think about MPP at all — the marketplace handles everything internally.

MPP compatibility matters when your agent calls APIs outside the marketplace that happen to use the MPP standard for payments. As more APIs adopt MPP, your IndieGent wallet will work with all of them automatically.


Learn More

IndieGent— Independent wallets for independent agents

npm install -g @indiegent/cli