Machine Payments Protocol

Sui payments
for MPP.

Accept USDC on any API. 5 lines of code.
Your AI agent pays automatically.

Stripe + Tempo standard·Sui USDC·Open source
For API Developers

Accept payments. 5 lines.

No webhooks. No Stripe dashboard. No KYC. Your API returns 402 — the agent pays — content delivered.

Works with any MPP-compatible client
Payments settle on Sui in seconds
USDC arrives directly in your wallet
No intermediary, no fees beyond gas
api/route.tsServer
import { sui } from '@t2000/mpp-sui/server';
import { Mppx } from 'mppx';

const mppx = Mppx.create({
  methods: [sui({
    currency: SUI_USDC,
    recipient: '0xYOUR_ADDRESS'
  })]
});

export const GET = mppx.charge({ amount: '0.01' })(
  () => Response.json({ data: 'paid content' })
);
agent.tsClient
import { T2000 } from '@t2000/sdk';

const agent = new T2000();

const result = await agent.pay({
  url: 'https://mpp.t2000.ai/openai/v1/chat/completions',
  body: { model: 'gpt-4o', ... },
  maxPrice: 0.05
});

// If the API returns 402, agent pays automatically.
// USDC transferred on Sui. Content returned.
For AI Agents

Your agent pays.

No API keys. No credit cards. Just money. The agent pays from its Sui USDC balance — automatically.

What the user sees
You: "Ask GPT-4o to summarize this PDF"

Claude: "Done. Paid $0.01 USDC from your
        t2000 balance. Here's the summary."
How It Works

The 402 flow. 4 steps.

Like a browser discovering a paywall — but for machines. No pre-registration. No API keys. Just HTTP.

1

Agent requests a resource

Any HTTP request — GET, POST, whatever. The agent doesn't know if it costs money yet.

POST https://mpp.t2000.ai/openai/v1/chat/completions
2

API returns 402 Payment Required

The MPP challenge tells the client exactly what to pay: amount, currency, recipient.

402 → { amount: '0.01', currency: 'USDC', recipient: '0x...' }
3

Agent pays on Sui

The mppx client builds a USDC transfer, signs it with the agent's keypair, and broadcasts to Sui.

build USDC transfer → sign → broadcast → finalized in ~400ms
4

Agent retries with proof

The credential (Sui transaction digest) is sent back. Server verifies on-chain, delivers content.

POST /v1/chat/completions + x-payment-credential: { digest: '...' } → 200 OK
Multiple Interfaces

CLI, SDK, or AI.

Pay for APIs from the terminal, your code, or through natural conversation with Claude.

CLI
❯ t2000 pay \
    mpp.t2000.ai/openai/v1/chat/completions \
    --max-price 0.05

  ✓ Paid $0.01 USDC
  tx: 7xK2m...9fQ3
  → 200 OK (1.2s)
SDK
const result = 
  await agent.pay({
    url, body,
    maxPrice: 0.05
  });

// Handles 402 → pay → retry
// automatically.
MCPClaude
You:
"Ask GPT-4o what
  it thinks about Sui"

Claude:
→ calls t2000_pay
→ pays $0.03 USDC
→ returns image
Why Sui

Built for machines.

MPP is chain-agnostic. We chose Sui because agent payments need speed, low cost, and finality.

Finality
~400ms
Sub-second settlement
Gas
<$0.001
Negligible per payment
USDC
Native
Circle-issued on Sui
Standard
MPP
Stripe + Tempo protocol
Open Standard

Not a proprietary protocol. A standard.

MPP is an open standard by Stripe and Tempo Labs. @t2000/mpp-sui is one payment method. Any MPP client can pay any MPP server.

@t2000/mpp-sui

Sui USDC payment method for MPP. Use it standalone or with the t2000 SDK.

npm →
mppx

The official MPP TypeScript SDK by Stripe + Tempo. Client and server.

npm →
mpp.dev

The MPP spec, ecosystem, and documentation. Learn the standard.

Read →
Get started

Accept Sui payments.
Today.

Open source. No intermediary. Built on Sui.

npm install @t2000/mpp-sui
MIT · Open source · Sui mainnet