关于 helius-api
Helius API 技能介绍 Solana RPC 扩展接口,面向钱包分析、资产查询和链上交易监控。内容涵盖 DAS、解析后的交易数据、Webhook 通知及优先费估算。
主要功能
- 01查询 Solana 资产元数据
- 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 在标准 Solana RPC 的基础上扩展了已解析的交易历史、统一的数字资产标准(DAS)API、Webhooks 和优先费估算。对于钱包分析、代币元数据和交易监控至关重要。
快速开始
1. 获取 API 密钥
在 dashboard.helius.dev 注册——提供免费套餐(每月 1M 积分,无需信用卡)。
export HELIUS_API_KEY="your-api-key"
2. 安装依赖项
uv pip install httpx python-dotenv
3. 两种基础 URL
Helius 会根据 API 使用不同的基础 URL:
| API | 基础 URL | 协议 |
|---|---|---|
| RPC / DAS / 优先费 | https://mainnet.helius-rpc.com/?api-key=KEY | JSON-RPC 2.0 |
| 增强型交易 / Webhooks | 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 | Merkle 证明(压缩 NFT) | 10 |
getAssetProofBatch | 批量证明 | 10 |
getSignaturesForAsset | 资产的交易历史 | 10 |
getNftEditions | 主 NFT 的所有版本 | 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。
Webhooks
针对链上事件的实时通知——无需轮询。
创建 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 频道的格式化消息 | 按交易类型和账户筛选 |
管理 Webhooks
# 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}")
每个 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-20th | 不紧急 |
low | 20-40th | 标准转账 |
medium | 40-60th | DEX 兑换(推荐默认值) |
high | 60-80th | 时间敏感型操作 |
veryHigh | 80-95th | 时机至关重要 |
unsafeMax | 100th | 仅限紧急情况 |
费用单位为 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/事件。额外积分:$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 查询代币元数据和持有者信息