helius-api — Claude Code skill: what it does, how to install
Solana integration skill for Claude Code using Helius. Queries tokens and compressed NFTs via DAS API, decodes raw transactions, and calculates priority fees.
npx skills add agiprolabs/claude-trading-skills --skill helius-api -a claude-codeWhat helius-api does
This skill provides code patterns for interacting with Solana through Helius RPC and REST endpoints. It includes ready-to-use snippets for the Digital Asset Standard (DAS) API to look up fungible tokens, standard NFTs, and compressed NFTs by wallet or collection.
It also details the Enhanced Transactions API and Priority Fee API. These endpoints translate raw on-chain signatures into parsed swap or transfer events from protocols like Jupiter and Raydium. You also get request templates for webhook automation tracking up to 100,000 addresses per hook.
Calls require an active HELIUS_API_KEY along with the httpx and python-dotenv Python packages. Without the environment key, RPC and REST endpoints reject outgoing requests.
What it helps with
- fetch fungible token and compressed NFT balances for a wallet
- parse raw Solana transaction signatures into structured DEX swaps
- estimate optimal priority fee tiers in microlamports per compute unit
- register webhooks for real-time monitoring of wallet addresses
Example prompts for the agent
- Query all digital assets for address
WALLET_ADDRESSusing the DAS API - Parse the Solana transaction
SIGNATURE_HEREand extract Jupiter swap details - Get the recommended priority fee estimate for a transaction touching Jupiter
How to install helius-api
1Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill helius-api -a claude-code2Manually: put the files in place
~/.claude/skills/helius-api/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/helius-api/
1Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill helius-api -a codex2Manually: put the files in place
.agents/skills/helius-api/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill helius-api -a cursor2Manually: put the files in place
.cursor/skills/helius-api/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install agiprolabs/claude-trading-skills helius-api2Manually: put the files in place
.github/skills/helius-api/SKILL.md1Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill helius-api -a gemini-cli2Platform CLI
gemini skills install https://github.com/agiprolabs/claude-trading-skills --path skills/helius-apiManually: put the files in place
.devin/skills/helius-api/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill helius-api -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about helius-api
How to install helius-api in Claude Code?
Run npx skills add agiprolabs/claude-trading-skills --skill helius-api -a claude-code.
What does helius-api do?
It teaches coding agents how to query Solana assets through Helius DAS API, decode transaction history, manage webhooks, and estimate compute unit priority fees.
What packages and credentials are required?
You need a HELIUS_API_KEY environment variable and Python dependencies httpx and python-dotenv.
Source text
SKILL.md · MIT
---
name: helius-api
description: Enhanced Solana RPC with DAS API, parsed transactions, webhooks, and priority fee estimation via Helius
---
# Helius API — Enhanced Solana RPC
Helius extends standard Solana RPC with parsed transaction history, a unified Digital Asset Standard (DAS) API, webhooks, and priority fee estimation. Essential for wallet analysis, token metadata, and transaction monitoring.
## Quick Start
### 1. Get an API Key
Sign up at [dashboard.helius.dev](https://dashboard.helius.dev) — free tier available (1M credits/mo, no card required).
```bash
export HELIUS_API_KEY="your-api-key"
```
### 2. Install Dependencies
```bash
uv pip install httpx python-dotenv
```
### 3. Two Base URLs
Helius uses different base URLs depending on the API:
| API | Base URL | Protocol |
|-----|----------|----------|
| RPC / DAS / Priority Fees | `https://mainnet.helius-rpc.com/?api-key=KEY` | JSON-RPC 2.0 |
| Enhanced Transactions / Webhooks | `https://api-mainnet.helius-rpc.com/v0/...?api-key=KEY` | REST |
## DAS API (Digital Asset Standard)
Unified interface for querying all Solana digital assets — fungible tokens, NFTs, compressed NFTs, Token-2022.
### Get Asset Metadata
```python
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.
```
### Get All Assets for a Wallet
```python
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"]
```
### Search Assets with Filters
```python
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,
}
})
```
### All DAS Methods
| Method | Purpose | Credits |
|--------|---------|---------|
| `getAsset` | Single asset metadata | 10 |
| `getAssetBatch` | Up to 1,000 assets | 10 |
| `getAssetsByOwner` | All assets for a wallet | 10 |
| `getAssetsByGroup` | Assets by collection | 10 |
| `getAssetsByCreator` | Assets by creator | 10 |
| `getAssetsByAuthority` | Assets by update authority | 10 |
| `searchAssets` | Multi-criteria filtered search | 10 |
| `getAssetProof` | Merkle proof (compressed NFTs) | 10 |
| `getAssetProofBatch` | Batch proofs | 10 |
| `getSignaturesForAsset` | Tx history for an asset | 10 |
| `getNftEditions` | All editions of a master | 10 |
| `getTokenAccounts` | Token accounts by mint/owner | 10 |
See `references/das_api.md` for complete field documentation.
## Enhanced Transactions API
Transforms raw Solana transactions into human-readable structured data with categorized types and sources.
### Parse a Transaction
```python
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}, ...]
```
### Get Parsed Transaction History for a Wallet
```python
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()
```
### Transaction Types (151+)
Key types for trading analysis:
| Type | Meaning |
|------|---------|
| `SWAP` | DEX swap |
| `TRANSFER` | Token/SOL transfer |
| `ADD_LIQUIDITY` / `REMOVE_LIQUIDITY` | LP operations |
| `NFT_SALE` / `NFT_MINT` / `NFT_LISTING` | NFT marketplace |
| `STAKE_SOL` / `UNSTAKE_SOL` | Staking |
| `CREATE_ORDER` / `FILL_ORDER` | Limit orders |
### Transaction Sources (50+)
`JUPITER`, `RAYDIUM`, `ORCA`, `MAGIC_EDEN`, `TENSOR`, `MARINADE`, `METEORA`, `PHANTOM`, etc.
See `references/enhanced_transactions.md` for full type/source enums.
## Webhooks
Real-time notifications for on-chain events — no polling required.
### Create a Webhook
```python
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 Types
| Type | Data Format | Filtering |
|------|------------|-----------|
| `enhanced` | Parsed (like Enhanced Transactions API) | By transaction type + account |
| `raw` | Unprocessed transaction data | By account only (lower latency) |
| `discord` | Formatted messages to Discord channel | By transaction type + account |
### Manage Webhooks
```python
# 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}")
```
Up to 100,000 addresses per webhook (via API). 1 credit per event delivered.
## Priority Fee API
Estimate optimal priority fees for transaction landing.
```python
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}
```
| Level | Percentile | Use Case |
|-------|-----------|----------|
| `min` | 0-20th | Non-urgent |
| `low` | 20-40th | Standard transfers |
| `medium` | 40-60th | DEX swaps (recommended default) |
| `high` | 60-80th | Time-sensitive |
| `veryHigh` | 80-95th | Critical timing |
| `unsafeMax` | 100th | Emergency only |
Fee in microlamports/CU. Total priority fee = microlamports/CU × compute units consumed.
## Pricing & Rate Limits
| Plan | Price/mo | Credits | RPC req/s | DAS req/s |
|------|----------|---------|-----------|-----------|
| Free | $0 | 1M | 10 | 2 |
| Developer | $49 | 10M | 50 | 10 |
| Business | $499 | 100M | 200 | 50 |
| Professional | $999 | 200M | 500 | 100 |
**Credit costs**: Standard RPC = 1, DAS = 10, Enhanced Txns = 100, Webhooks = 1/event. Additional credits: $5/million.
## Files
### References
- `references/das_api.md` — Complete DAS API field reference and response schemas
- `references/enhanced_transactions.md` — Transaction types, sources, and response structure
- `references/webhooks.md` — Webhook setup, management, and event handling
- `references/error_handling.md` — Rate limits, error codes, and retry strategies
### Scripts
- `scripts/wallet_analysis.py` — Fetch wallet assets and parsed transaction history
- `scripts/token_lookup.py` — Look up token metadata and holder information via DAS
© agiprolabs · MIT · agiprolabs/claude-trading-skills