helius-api について
Helius API は、ウォレット分析、アセット検索、トランザクション監視向けの Solana RPC 拡張を扱うスキルです。DAS 検索、解析済みトランザクション、Webhook、優先手数料の推定を紹介します。
主な機能
- 01Solana アセットメタデータの取得
- 02所有者・コレクション・作成者別の検索
- 03解析済みトランザクション履歴の取得
- 04オンチェーンイベント Webhook の設定
- 05トランザクション優先手数料の推定
活用シーン
- 01ウォレット保有のトークンや NFT の確認
- 02種類別のウォレット取引分析
- 03指定アカウントのオンチェーンイベント監視
- 04トランザクションの優先手数料選択
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agiprolabs/ claude-trading-skills --skill helius-apiインストール後、Claude Code で/helius-apiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/das_api.mdenhanced_transactions.mderror_handling.mdwebhooks.mdscripts/token_lookup.pywallet_analysis.py詳細
Helius API — 強化版 Solana RPC
Helius は、パース済みトランザクション履歴、統合デジタルアセット標準(DAS)API、Webhook、優先手数料の見積もりにより、標準の Solana RPC を拡張します。ウォレット分析、トークンメタデータ、トランザクション監視に不可欠です。
クイックスタート
1. API キーを取得する
dashboard.helius.dev で登録します。無料プランを利用できます(月あたり 100 万クレジット、カード登録不要)。
export HELIUS_API_KEY="your-api-key"
2. 依存関係をインストールする
uv pip install httpx python-dotenv
3. 2 種類のベース URL
Helius では、API に応じて異なるベース URL を使用します。
| API | ベース URL | プロトコル |
|---|---|---|
| RPC / DAS / 優先手数料 | https://mainnet.helius-rpc.com/?api-key=KEY | JSON-RPC 2.0 |
| 強化版トランザクション / Webhook | https://api-mainnet.helius-rpc.com/v0/...?api-key=KEY | REST |
DAS API(デジタルアセット標準)
すべての Solana デジタルアセット(代替可能トークン、NFT、圧縮 NFT、Token-2022)を照会するための統合インターフェースです。
アセットメタデータを取得する
import httpx, os
API_KEY = os.environ["HELIUS_API_KEY"]
RPC_URL = f"https://mainnet.helius-rpc.com/?api-key={API_KEY}"
resp = httpx.post(RPC_URL, json={
"jsonrpc": "2.0", "id": 1,
"method": "getAsset",
"params": {
"id": "So11111111111111111111111111111111111111112", # wSOL
"options": {"showFungible": True}
}
})
asset = resp.json()["result"]
# asset.content.metadata.name, asset.token_info.decimals, etc.
ウォレットのすべてのアセットを取得する
resp = httpx.post(RPC_URL, json={
"jsonrpc": "2.0", "id": 1,
"method": "getAssetsByOwner",
"params": {
"ownerAddress": "WALLET_ADDRESS",
"page": 1,
"limit": 100,
"displayOptions": {
"showFungible": True,
"showNativeBalance": True,
"showZeroBalance": False,
}
}
})
assets = resp.json()["result"]["items"]
フィルターを使ってアセットを検索する
resp = httpx.post(RPC_URL, json={
"jsonrpc": "2.0", "id": 1,
"method": "searchAssets",
"params": {
"ownerAddress": "WALLET_ADDRESS",
"tokenType": "fungible", # fungible | nonFungible | all
"page": 1,
"limit": 50,
}
})
すべての DAS メソッド
| メソッド | 用途 | クレジット |
|---|---|---|
getAsset | 単一アセットのメタデータ | 10 |
getAssetBatch | 最大 1,000 件のアセット | 10 |
getAssetsByOwner | ウォレットのすべてのアセット | 10 |
getAssetsByGroup | コレクション別のアセット | 10 |
getAssetsByCreator | 作成者別のアセット | 10 |
getAssetsByAuthority | 更新権限別のアセット | 10 |
searchAssets | 複数条件によるフィルター検索 | 10 |
getAssetProof | マークル証明(圧縮 NFT) | 10 |
getAssetProofBatch | 一括証明 | 10 |
getSignaturesForAsset | アセットのトランザクション履歴 | 10 |
getNftEditions | マスターのすべてのエディション | 10 |
getTokenAccounts | ミント/所有者別のトークンアカウント | 10 |
フィールドの詳細については、references/das_api.md を参照してください。
強化版トランザクション API
Solana の生トランザクションを、タイプとソースで分類された、人が読みやすい構造化データに変換します。
トランザクションをパースする
API_URL = f"https://api-mainnet.helius-rpc.com/v0/transactions?api-key={API_KEY}"
resp = httpx.post(API_URL, json={
"transactions": ["SIGNATURE_HERE"],
})
parsed = resp.json()[0]
# parsed["type"] → "SWAP"
# parsed["source"] → "JUPITER"
# parsed["description"] → "User swapped 1 SOL for 150 USDC on Jupiter"
# parsed["tokenTransfers"] → [{mint, amount, from, to}, ...]
# parsed["nativeTransfers"] → [{from, to, amount}, ...]
ウォレットのパース済みトランザクション履歴を取得する
url = f"https://api-mainnet.helius-rpc.com/v0/addresses/{wallet}/transactions"
resp = httpx.get(url, params={
"api-key": API_KEY,
"limit": 50,
"type": "SWAP", # optional filter
})
history = resp.json()
トランザクションのタイプ(151 種類以上)
トレーディング分析に役立つ主なタイプ:
| タイプ | 意味 |
|---|---|
SWAP | DEX スワップ |
TRANSFER | トークン/SOL の送金 |
ADD_LIQUIDITY / REMOVE_LIQUIDITY | LP 操作 |
NFT_SALE / NFT_MINT / NFT_LISTING | NFT マーケットプレイス |
STAKE_SOL / UNSTAKE_SOL | ステーキング |
CREATE_ORDER / FILL_ORDER | 指値注文 |
トランザクションのソース(50 種類以上)
JUPITER、RAYDIUM、ORCA、MAGIC_EDEN、TENSOR、MARINADE、METEORA、PHANTOM など。
すべてのタイプ/ソースの列挙については、references/enhanced_transactions.md を参照してください。
Webhook
オンチェーンイベントをリアルタイムで通知します。ポーリングは不要です。
Webhook を作成する
url = f"https://api-mainnet.helius-rpc.com/v0/webhooks?api-key={API_KEY}"
resp = httpx.post(url, json={
"webhookURL": "https://your-server.com/helius-hook",
"transactionTypes": ["SWAP", "TRANSFER"],
"accountAddresses": ["WalletAddress1", "WalletAddress2"],
"webhookType": "enhanced",
"authHeader": "your-secret-token",
})
webhook_id = resp.json()["webhookID"]
Webhook のタイプ
| タイプ | データ形式 | フィルタリング |
|---|---|---|
enhanced | パース済み(強化版トランザクション API と同様) | トランザクションタイプとアカウント別 |
raw | 未処理のトランザクションデータ | アカウント別のみ(低レイテンシ) |
discord | Discord チャンネル向けの整形済みメッセージ | トランザクションタイプとアカウント別 |
Webhook を管理する
# List all
webhooks = httpx.get(f"{url}?api-key={API_KEY}").json()
# Update
httpx.put(f"{url}/{webhook_id}?api-key={API_KEY}", json={
"webhookURL": "https://new-url.com/hook",
"transactionTypes": ["SWAP"],
"accountAddresses": ["NewWallet..."],
"webhookType": "enhanced",
})
# Delete
httpx.delete(f"{url}/{webhook_id}?api-key={API_KEY}")
1 つの Webhook あたり最大 100,000 件のアドレスを登録できます(API 経由)。イベント配信ごとに 1 クレジットを消費します。
優先手数料 API
トランザクションをブロックに取り込むための最適な優先手数料を見積もります。
resp = httpx.post(RPC_URL, json={
"jsonrpc": "2.0", "id": 1,
"method": "getPriorityFeeEstimate",
"params": [{
"accountKeys": ["JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"],
"options": {
"includeAllPriorityFeeLevels": True,
"recommended": True,
}
}]
})
fees = resp.json()["result"]
# fees["priorityFeeEstimate"] → recommended fee (microlamports/CU)
# fees["priorityFeeLevels"] → {min, low, medium, high, veryHigh, unsafeMax}
| レベル | パーセンタイル | 用途 |
|---|---|---|
min | 0~20 位 | 緊急性なし |
low | 20~40 位 | 標準的な送金 |
medium | 40~60 位 | DEX スワップ(推奨デフォルト) |
high | 60~80 位 | 時間重視 |
veryHigh | 80~95 位 | タイミングが重要 |
unsafeMax | 100 位 | 緊急時のみ |
手数料の単位は microlamports/CU です。優先手数料の合計 = microlamports/CU × 消費されたコンピュートユニット数。
料金とレート制限
| プラン | 料金/月 | クレジット | RPC リクエスト/秒 | DAS リクエスト/秒 |
|---|---|---|---|---|
| 無料 | $0 | 1M | 10 | 2 |
| 開発者 | $49 | 10M | 50 | 10 |
| ビジネス | $499 | 100M | 200 | 50 |
| プロフェッショナル | $999 | 200M | 500 | 100 |
クレジットコスト:標準 RPC = 1、DAS = 10、拡張トランザクション = 100、Webhook = 1/イベント。追加クレジット:100 万あたり $5。
ファイル
リファレンス
references/das_api.md— DAS API のフィールドとレスポンススキーマの完全なリファレンスreferences/enhanced_transactions.md— トランザクションの種類、ソース、レスポンス構造references/webhooks.md— Webhook の設定、管理、イベント処理references/error_handling.md— レート制限、エラーコード、再試行戦略
スクリプト
scripts/wallet_analysis.py— ウォレットのアセットと解析済みトランザクション履歴を取得scripts/token_lookup.py— DAS 経由でトークンのメタデータと保有者情報を検索