nansen-mpp-payment について
別途導入する Tempo CLI の MPP 決済を使って Nansen API を呼び出すスキルです。Tempo を利用中の人や、Base・Solana のウォレットを用意せずに支払いたい人を対象としています。
主な機能
- 01Tempo CLI ウォレットのセットアップ
- 02tempo request による Nansen API 呼び出し
- 03MPP のチャレンジと応答の処理
- 04有料エンドポイントの対応状況確認
活用シーン
- 01API キーなしでの Nansen 利用
- 02Tempo による Nansen の少額決済
- 03エンドポイントの MPP 対応確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nansen-ai/ nansen-cli --skill nansen-mpp-paymentインストール後、Claude Code で/nansen-mpp-paymentを入力して読み込まれたか確認します。
詳細
MPP / Tempo
Nansen API は、3 つの有料アクセス方式をサポートしています。API キー、x402(nansen-cli が処理)、Tempo 経由の MPP(別個の tempo CLI が処理)です。このスキルでは 3 つ目の方式を扱います。
nansen-cli は MPP 認証情報に署名しません。すでに tempo を使っている、ウォレットキーを自分で管理せずにマイクロペイメントを利用したい、または Base/Solana の USDC ウォレットに資金を入れたくないなどの理由で、ユーザーが tempo request を通じて Nansen API を呼び出したい場合は、このスキルを使用してください。
API キー認証については、nansen-wallet-manager を参照してください。ローカルウォレットでの x402 マイクロペイメントについては、nansen-trading/nansen-wallet-manager を参照してください。
このスキルを使用する場合
- ユーザーが「MPP」、「tempo」、「Authorization: Payment」、または「Payment-Receipt」と言っている。
- ユーザーが Nansen API キーを持っておらず、Base/Solana ウォレットを設定したくない。
- ユーザーがすでに tempo 経由で他の API に支払いを行っており、同じ方式で Nansen を利用したい。
初回のみのセットアップ
# 1. Install the tempo CLI
curl -fsSL https://tempo.xyz/install | bash
# 2. Log in (creates / unlocks the tempo wallet)
tempo wallet login
# 3. Fund it with USDC on the chain tempo selects for your environment
tempo wallet fund
# 4. Confirm the wallet is ready
tempo wallet whoami
Nansen API の呼び出し
tempo request は MPP のチャレンジ/レスポンス全体を処理します。リクエストを送信し、API が 402 と WWW-Authenticate: Payment ... を返すと Authorization: Payment 認証情報に署名して再試行し、成功時には Payment-Receipt ヘッダーを公開します。
# Smart Money netflow
tempo request POST https://api.nansen.ai/api/v1/smart-money/netflow \
--json '{"chains":["solana"],"pagination":{"page":1,"page_size":10}}'
# TGM holders
tempo request POST https://api.nansen.ai/api/v1/tgm/holders \
--json '{"token_address":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","chain":"solana"}'
エンドポイントのパスとリクエストの形式は、他の Nansen API と同じです。nansen schema <command>(API キーは不要)を実行してリクエスト本文の形式を確認し、対応する /api/v1/... パスを tempo request で呼び出してください。
有料エンドポイントの確認
curl https://api.nansen.ai/.well-known/x402
paymentProtocols: ["x402", "mpp"](MPP がサーバー側で有効な場合)と、有料リソースの一覧を返します。
MPP と x402 の違い
| x402(nansen-cli ネイティブ) | tempo 経由の MPP(このスキル) | |
|---|---|---|
| 再試行時に送信されるヘッダー | Payment-Signature: <base64> | Authorization: Payment <credential> |
| 402 チャレンジヘッダー | Payment-Required: <base64> | WWW-Authenticate: Payment ... |
| 成功時のヘッダー | (なし) | Payment-Receipt: <base64> |
| ウォレット | ローカル、Privy、または WalletConnect — nansen-cli が管理 | tempo が管理(別個の CLI) |
| チェーン | Base USDC、Solana SPL USDC、X Layer USDT0 | Tempo のチェーン(本番環境では mainnet の USDC、開発環境では moderato の pathUSD) |
| nansen-cli のコードパス | src/x402.js が 402 時に自動署名 | 未対応 — tempo request で直接呼び出す |
注意事項
- MPP はサーバー側でオプトインします。
tempo requestがWWW-Authenticate: Paymentなしで 402 を返す場合、そのエンドポイント/環境では MPP が有効になっていません。API キーまたは x402 に切り替えてください。 nansen-cliに--mpp-*フラグを追加しようとしないでください。サポートされている連携方法は「tempo を別途使う」です。ユーザーがより緊密な連携を求める場合は、このスキルを案内し、コードを追加する前に要件を確認してください。- リクエストごとの価格は x402 と同じです(10 倍のマークアップで 1 クレジット ≈ $0.001、たとえば 1 クレジットのエンドポイントは $0.01)。
ソース
- npm: https://www.npmjs.com/package/nansen-cli
- GitHub: https://github.com/nansen-ai/nansen-cli
- MPP プロトコル: https://mpp.dev/protocol
- Tempo ドキュメント: https://docs.tempo.xyz