mcpField
M
moralis-streams-api

moralis-streams-api

github.com/novnskiデータ・データベース139 回インストール7 週間前に更新
リポジトリ

moralis-streams-api について

Moralis Streams API 連携の実装を支援するスキルです。開発者向けに EVM、Solana、Bitcoin、共通エンドポイントの操作と、ファミリー別のリクエスト規則や配信上の注意点を案内します。

主な機能

  1. 01EVM、Solana、Bitcoin のストリーム操作
  2. 02ファミリー別のエンドポイントとペイロード案内
  3. 03アドレスと Bitcoin xpub の管理
  4. 04Webhook 履歴、再送、統計
  5. 05API キーと配信のトラブル対応

活用シーン

  1. 01ブロックチェーン活動モニターの作成
  2. 02ストリーム設定と状態の管理
  3. 03Webhook 配信の確認または再送

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/novnski/onchain-skills --skill moralis-streams-api

インストール後、Claude Code で/moralis-streams-apiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
BitcoinStreams.md
CommonPitfalls.md
DeliveryGuarantees.md
ErrorHandling.md
FAQ.md
FilterStreams.md
HistoricalJobs.md
ListenToAllAddresses.md
MonitorMultipleAddresses.md
ReliabilityAndLifecycle.md
ReplayFailedWebhooks.md
SolanaStreams.md
StreamConfiguration.md
Triggers.md
Tutorials.md
UsefulStreamOptions.md
WebhookResponseBody.md
WebhookSecurity.md
rules/
AddAddressToStream.md
bitcoinBlockToWebhook.md
bitcoinGetBlockByNumber.md
bitcoinStreamsAddAddresses.md
bitcoinStreamsAddXpub.md
bitcoinStreamsCreate.md
bitcoinStreamsDelete.md
bitcoinStreamsDeleteAddresses.md
bitcoinStreamsDeleteXpub.md
bitcoinStreamsGet.md
bitcoinStreamsGetAddresses.md
bitcoinStreamsGetAll.md

詳細

重要:実装前にルールファイルを読む

Streams のバグが発生する最大の原因は、ストリームのファミリーやリクエスト形式を取り違えることです。

すべてのエンドポイントで、次の手順を実行してください。

  1. rules/{EndpointName}.md を読む
  2. まずファミリーを確認する:
    • EVM:/streams/evm
    • Solana:/streams/solana
    • Bitcoin:/streams/bitcoin
    • ユーティリティ:/history、/historical-jobs、/settings、/stats
  3. HTTP メソッドを慎重に確認する(作成は PUT、更新/ステータス/リプレイは POST、削除は DELETE)
  4. ストリーム ID がハッシュやアドレスではなく、UUID であることを確認する
  5. ファミリーに合った設定形式を使用する:
    • EVM:chainIds、topic0、abi、advancedOptions
    • Solana:network、programIds、mintAddresses、allAddresses
    • Bitcoin:network、includeInputs、includeOutputs、allAddresses、xpub

参照する順序:

  1. この SKILL.md
  2. rules/ 内のエンドポイントルール
  3. references/StreamConfiguration.md
  4. エッジケースに関するファミリー固有のリファレンス

セットアップ

API キー

ユーザーにチャットへ API キーを貼り付けるよう求めないでください。 代わりに、次の手順を実行してください。

  1. MORALIS_API_KEY が設定されているか確認する:
    [ -n "$MORALIS_API_KEY" ] && echo "API key is set" || echo "API key is NOT set"
    
  2. 設定されていない場合は、MORALIS_API_KEY= を記述したローカルの .env を作成することを提案する
  3. .env を開いて、自分でキーを追加するようユーザーに伝える
  4. キーがないと Moralis Streams の呼び出しやテストができないことを説明する

キーが必要な場合は、admin.moralis.com/register を案内してください。Free プランは2026 年 9 月 1 日に廃止されました。利用には有料プランが必要です。Starter、Pro、Business の月額料金については、プラン料金を参照し、最新の料金ページで確認してください。無料の未確認 Webhook があっても、Free サブスクリプションプランがあることにはなりません。

キーを確認する
curl "https://api.moralis-streams.com/streams/evm?limit=10" \
  -H "X-API-Key: $MORALIS_API_KEY"

ベース URL

https://api.moralis-streams.com

すべてのリクエストには X-API-Key: $MORALIS_API_KEY が必要です。


ストリームのファミリー

ファミリー主なフィルター追加項目備考
EVMchainIds、topic0、abi、ストリームアドレスadvancedOptions、includeContractLogs、includeNativeTxs、includeInternalTxs、triggers、getNativeBalances0x1、0x89 のような 16 進数のチェーン ID を使用
Solananetwork、programIds、mintAddresses、ストリームアドレスallAddresses、ブロックリプレイ用ヘルパーchainIds、topic0、EVM ABI デコードは使用しない
Bitcoinnetwork、ストリームアドレス、allAddressesincludeInputs、includeOutputs、xpub エンドポイント、ブロックリプレイ用ヘルパーコントラクトトピックではなく、アドレスと xpub を監視
ユーティリティ履歴、リプレイ、履歴ジョブ、設定、統計アカウントレベルの操作履歴ジョブのタイムスタンプ単位とファミリーの対象範囲は確認が必要
EVM

サポート対象の EVM メインネットチェーンで、コントラクトイベント、ERC20/ERC721/ERC1155 の転送、承認、ネイティブトランザクション、内部トランザクションを扱う場合は、EVM ストリームを使用してください。

ストリームの種類:

種類説明
txネイティブトランザクション
logコントラクトイベントログ
erc20transferERC20 トークンの転送
erc20approvalERC20 の承認
nfttransferNFT の転送
internalTx内部トランザクション
Solana

ユーザーが mainnet 上のプログラム、ミント、またはアドレスのアクティビティを求めている場合は、Solana ストリームを使用してください。

  • 主なフィルターは programIds と mintAddresses です
  • network は ["mainnet"] にする必要があります
  • EVM 形式の topic0、abi、chainIds はありません
  • Solana のアドレスは base58 形式で大文字と小文字を区別します。小文字に変換しないでください
  • Solana のペイロードでは、EVM のイベント配列の代わりに transactions[].signature、accountKeys、instructions、innerInstructions、トークン残高の前後値が使用されます

references/SolanaStreams.md を参照してください。

Bitcoin

アドレスまたは xpub ベースの監視には、Bitcoin ストリームを使用します。

  • 主なフィルターは、監視対象のアドレスまたは xpub です
  • network は配列です
  • includeInputs と includeOutputs でペイロードの詳細を制御します
  • network は ["mainnet"] である必要があります

["mainnet"] を使用してください。

references/BitcoinStreams.mdを参照してください。


クイックリファレンス

ストリーム ID の形式
// WRONG
"0x1234567890abcdef"

// CORRECT
"YOUR_STREAM_ID"
EVM チェーン ID
"0x1"     // Ethereum
"0x89"    // Polygon
"0x38"    // BSC
"0xa4b1"  // Arbitrum
"0xa"     // Optimism
"0x2105"  // Base
Solana ネットワーク
["mainnet"]
Bitcoin ネットワーク
["mainnet"]

Bitcoin Streams は mainnet のみをサポートします。

ステータス値
"active"
"paused"
"error"
"terminated"

更新リクエストでは、active または paused のみを送信してください。


配信モデル

  • Moralis は作成時と更新時に、必須のテスト用 Webhookを送信します。エンドポイントは 2xx を返す必要があります。
  • ストリームは少なくとも1回配信されます。冪等性のあるコンシューマーを構築してください。
  • EVM と Solana の Webhook フローでは、confirmed: false の後に confirmed: true が送信されます。
  • Bitcoin では、1つの txid に対して最大3回のライフサイクル通知が配信されることがあります。メンプール(block.hash: "mempool"、block.height: "0")、ブロック内だが未承認(confirmed: false)、その後、2ブロックの承認深度に達してリオーグの影響を受けなくなった状態(confirmed: true)です。
  • Webhook の配信失敗が続くと、ストリームは error になり、その後 terminated になることがあります。

references/DeliveryGuarantees.md、references/ErrorHandling.md、references/WebhookSecurity.mdを参照してください。


EVM 専用機能

以下は EVM ストリーム専用です。

  • triggers
  • advancedOptions
  • includeContractLogs
  • includeNativeTxs
  • includeInternalTxs(サポート対象は EVM の mainnet チェーンのみです。テストネットは対象外です)
  • includeAllTxLogs(Pro プラン以上で利用できます)
  • getNativeBalances
  • filterPossibleSpamAddresses
  • topic0/ABI ベースのフィルタリング

references/UsefulStreamOptions.md、references/Triggers.md、references/ListenToAllAddresses.mdを参照してください。


簡単なトラブルシューティング

問題考えられる原因解決方法
400 Bad Requestリクエスト形式が混在していますエンドポイントのルールで、ファミリー固有のフィールドを再確認してください
404 Not Foundストリーム ID が間違っていますUUID 形式のストリーム ID を使用してください
Method Not Allowedメソッドが間違っています作成には PUT、更新/ステータス変更/再送には POST を使用してください
Missing limitリストエンドポイントです?limit=100 を追加してください
ストリームが有効にならないテスト用 Webhook が失敗しましたWebhook エンドポイントから 2xx を返してください

エンドポイント一覧

EVM、Solana、Bitcoin、および共通ユーティリティにわたる、Streams API の全47エンドポイントの一覧です。

EVM ストリーム

ブロックの再生ヘルパーを含む、EVM ストリームの作成、更新、削除、シミュレーションを行います。

エンドポイント説明
CreateStreamストリームを作成します
DeleteStreamストリームを削除します
DuplicateStreamストリームを複製します
GetStream特定の EVM ストリームを取得します。
GetStreamBlockDataByNumber指定したストリーム設定を使用して、ブロック番号に対応する Webhook データを取得します
GetStreamBlockDataToWebhookByNumberストリーム設定とアドレスを使用して、特定のブロック番号に基づき Webhook を送信します。
GetStreamsストリームを取得します
UpdateStreamストリームを更新します
UpdateStreamStatusストリームのステータスを更新します
EVM アドレス

EVM ストリームのアドレスリストを管理します。

エンドポイント説明
AddAddressToStreamアドレスをストリームに追加します
DeleteAddressFromStreamアドレスをストリームから削除します
GetAddressesストリームのアドレスを取得します
ReplaceAddressFromStreamストリームのアドレスを置き換えます
Solana ストリーム

ブロックの再生ヘルパーを含む、Solana ストリームの作成、更新、削除、シミュレーションを行います。

エンドポイント説明
solanaBlockToWebhookブロック番号を指定して Solana の Webhook データを送信
solanaGetBlockByNumberブロック番号を指定して Solana の Webhook データを取得
solanaStreamsCreateSolana ストリームを作成
solanaStreamsDeleteSolana ストリームを削除
solanaStreamsGetID で Solana ストリームを取得
solanaStreamsGetAllSolana ストリームを取得
solanaStreamsUpdateSolana ストリームを更新
solanaStreamsUpdateStatusSolana ストリームのステータスを更新
Solana アドレス

Solana ストリームのアドレスリストを管理します。

エンドポイント説明
solanaStreamsAddAddressesSolana ストリームにアドレスを追加
solanaStreamsDeleteAddressesSolana ストリームからアドレスを削除
solanaStreamsGetAddressesSolana ストリームのアドレスを取得
Bitcoin ストリーム

ブロックの再生ヘルパーを含む、Bitcoin ストリームの作成、更新、削除、シミュレーションを行います。

エンドポイント説明
bitcoinBlockToWebhookブロック番号を指定して Bitcoin の Webhook データを送信
bitcoinGetBlockByNumberブロック番号を指定して Bitcoin の Webhook データを取得
bitcoinStreamsCreateBitcoin ストリームを作成
bitcoinStreamsDeleteBitcoin ストリームを削除
bitcoinStreamsGetID で Bitcoin ストリームを取得
bitcoinStreamsGetAllBitcoin ストリームを取得
bitcoinStreamsUpdateBitcoin ストリームを更新
bitcoinStreamsUpdateStatusBitcoin ストリームのステータスを更新
Bitcoin アドレス

Bitcoin ストリームのアドレスリストを管理します。

エンドポイント説明
bitcoinStreamsAddAddressesBitcoin ストリームにアドレスを追加
bitcoinStreamsDeleteAddressesBitcoin ストリームからアドレスを削除
bitcoinStreamsGetAddressesBitcoin ストリームのアドレスを取得
Bitcoin xpub

ストリームに関連付けられた Bitcoin xpub を管理します。

エンドポイント説明
bitcoinStreamsAddXpubBitcoin ストリームに xpub を追加
bitcoinStreamsDeleteXpubBitcoin ストリームから xpub を削除
bitcoinStreamsGetXpubsBitcoin ストリームの xpub を取得
プロジェクト設定

プロジェクトレベルのストリーム設定を読み取り、更新します。

エンドポイント説明
GetSettingsプロジェクト設定を取得
SetSettingsプロジェクト設定を設定
統計

全体およびストリームごとの統計を確認します。

エンドポイント説明
GetStatsプロジェクトの統計を取得
GetStatsByStreamIdStream ID でプロジェクトの統計を取得
履歴

配信履歴やログを一覧表示し、失敗した Webhook 配信を再生します。

エンドポイント説明
GetHistory履歴を取得
GetLogsログを取得
ReplayHistory履歴を再生
履歴ジョブ

履歴ストリームジョブを作成し、内容を確認します。本番環境で使用する前に、タイムスタンプの単位とサポートされているストリームファミリーを確認してください。

エンドポイント説明
CreateJob履歴ストリームジョブを作成
GetJobs履歴ストリームジョブを取得

例:EVM ERC20 Transfer モニターを作成

curl -X PUT "https://api.moralis-streams.com/streams/evm" \
  -H "X-API-Key: $MORALIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "webhookUrl": "https://your-server.com/webhook",
    "description": "Monitor ERC20 transfers",
    "tag": "erc20-monitor",
    "topic0": ["Transfer(address,address,uint256)"],
    "allAddresses": true,
    "chainIds": ["0x1", "0x89"],
    "advancedOptions": [
      {
        "topic0": "Transfer(address,address,uint256)",
        "includeNativeTxs": true
      }
    ]
  }'

例:Solana プログラムストリームを作成

curl -X PUT "https://api.moralis-streams.com/streams/solana" \
  -H "X-API-Key: $MORALIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "webhookUrl": "https://your-server.com/webhook",
    "description": "Monitor Solana program activity",
    "tag": "solana-monitor",
    "network": ["mainnet"],
    "programIds": ["YOUR_SOLANA_PROGRAM_ID"],
    "mintAddresses": ["YOUR_SOLANA_MINT"],
    "allAddresses": false
  }'

例:Bitcoin アドレスストリームを作成

curl -X PUT "https://api.moralis-streams.com/streams/bitcoin" \
  -H "X-API-Key: $MORALIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "webhookUrl": "https://your-server.com/webhook",
    "description": "Monitor Bitcoin transactions",
    "tag": "bitcoin-monitor",
    "network": ["mainnet"],
    "includeInputs": true,
    "includeOutputs": true,
    "allAddresses": false
  }'

例:Bitcoin Xpub を追加

curl -X POST "https://api.moralis-streams.com/streams/bitcoin/YOUR_STREAM_ID/xpub" \
  -H "X-API-Key: $MORALIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "xpub": "YOUR_XPUB"
  }'

ページネーション

一覧エンドポイントではカーソルページネーションを使用します。

# First page
curl "...?limit=100" -H "X-API-Key: $MORALIS_API_KEY"

# Next page
curl "...?limit=100&cursor=<cursor>" -H "X-API-Key: $MORALIS_API_KEY"

サポート対象チェーン

  • EVM ストリーム:最新のサポート対象チェーンのドキュメントと 16 進数 ID を使用してください。Moonbeam、Moonriver、Lisk は 2026 年 9 月 25 日に削除される予定です。
  • Solana ストリーム:mainnet のみ
  • Bitcoin ストリーム:mainnet のみ

Moralis の最新ドキュメントでは、EVM ストリーム専用のサポート対象チェーンのページも公開されています。


リファレンスドキュメント


関連項目

  • エンドポイントのルール:rules/*.md
  • Data API:過去または現在のブロックチェーンの状態を取得するには @moralis-data-api を使用してください

コメント