---
title: "Machine Payments Protocol (MPP)"
description: "HTTP 402、Tempo USDC、支払いレシートで TwexAPI リクエストを従量課金する。"
---

# Machine Payments Protocol (MPP)

TwexAPI は選択された従量課金リクエスト向けに [Machine Payments Protocol (MPP)](https://mpp.dev) をサポートしています。MPP クライアントは TwexAPI API キーを送らず、Tempo USDC で対象リクエストの支払いができます。

MPP は、行ったリクエスト分だけ支払いたいエージェント、スクリプト、サービスに有用です。以下にないエンドポイントの API キー認証は置き換えません。

## サポート操作

| Operation | What it does | Payment method | Price |
| --- | --- | --- | --- |
| `POST /twitter/advanced_search/page` | 高度 Twitter 検索結果のカーソルベース 1 ページを返す。 | Tempo USDC | ページあたり USD 0.0001 |

現在の支払いオファーの権威はサーバーです。金額、受取人、支払い認証形式をハードコードせず、リクエストに返る `WWW-Authenticate: Payment` チャレンジを読んでください。

## 支払いの流れ

1. API キーなしで MPP 対応エンドポイントへ通常リクエスト。
2. サーバーは `402 Payment Required` と `WWW-Authenticate: Payment` チャレンジを返す。
3. MPP クライアントはチャレンジ記述の Tempo USDC リクエストを支払い、`Authorization: Payment` 認証情報でリトライ。
4. 決済済みレスポンスには `Payment-Receipt` ヘッダー。HTTP ステータスとレスポンスボディの両方を確認 — レシートは支払い決済のみを証明。

### Payment challenge

```http
HTTP/2 402 Payment Required
WWW-Authenticate: Payment id="abc...", realm="api.twexapi.io", method="tempo", intent="charge", request="eyJhbW91bnQiOi..."
```

チャレンジの `request` 値に現在の支払い指示が含まれます。MPP クライアント向け不透明データとして扱い、キャッシュ例から支払いを組み立てないでください。

### Paid retry and receipt

```http
POST /twitter/advanced_search/page HTTP/2
Host: api.twexapi.io
Authorization: Payment eyJjaGFsbGVuZ2UiOnsi...
Content-Type: application/json

{"searchTerms":["openai"],"sortBy":"Latest"}
```

```http
HTTP/2 200 OK
Payment-Receipt: eyJzdGF0dXMiOiJzdWNjZXNzIiwi...
Content-Type: application/json
```

## MPP と API キー

| Choose | When it fits |
| --- | --- |
| MPP | サポート操作への匿名・従量課金リクエストが必要。 |
| API key | TwexAPI 全表面、アカウントクレジット、MPP オファー未公開エンドポイントが必要。 |

MPP 支払いは USDC 入金済み Tempo ウォレットを使用。秘密鍵は環境変数に置き、ソース管理、ログ、チャットにコミットしないでください。

## 次のステップ

- [MPP quickstart](/mpp/quickstart) — クライアントインストール、Tempo ウォレット設定、有料検索リクエスト。
- [API overview](/api-reference/overview) — API キー認証と TwexAPI エンドポイントカタログ全体。
