360 Secure SkillHub
360 安全技能中心

solana-skill

该技能使用 Helius RPC/DAS 与 Jupiter API 完成 Solana 链上操作:创建与导入钱包、查询 SOL 与 SPL 代币余额、发送 SOL/代币、获取并执行 Jupiter 兑换、监控地址。密钥配置存放于 ~/.config/solana-skill/config.json,功能通过 npx tsx 运行 scripts 下的 TypeScript 脚本实现。

chattyclaw
chattyclaw
热度 98.29
最近更新 2026-05-18 11:56:39
分类:自动化依赖:代码执行 / 第三方 API / 读写文件应用场景:API 集成 / 财务 / 自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add solana-basics
Metadata
name
solana-skill
description
Interact with Solana blockchain via Helius APIs. Create/manage wallets, check balances (SOL + tokens), send transactions, swap tokens via Jupiter, and monitor addresses. Use for any Solana blockchain operation, crypto wallet management, token transfers, DeFi swaps, or portfolio tracking.

Solana Skill

Comprehensive Solana blockchain interaction using Helius infrastructure.

Prerequisites

  1. Helius API Key — Get free at https://dashboard.helius.dev/signup
  2. Store key in ~/.config/solana-skill/config.json:
{
  "heliusApiKey": "your-api-key",
  "network": "mainnet-beta"
}

Core Capabilities

Wallet Management

  • Create new wallets (keypair generation)
  • Import existing wallets (private key or seed phrase)
  • List managed wallets
  • Secure key storage (encrypted at rest)

Balance & Assets

  • Check SOL balance
  • Get all token balances (SPL tokens)
  • View NFTs and compressed NFTs
  • Portfolio valuation (via DAS API)

Transactions

  • Send SOL
  • Send SPL tokens
  • Transaction history (enhanced, human-readable)
  • Priority fee estimation

Swaps (Jupiter)

  • Get swap quotes
  • Execute token swaps
  • Slippage protection

Monitoring

  • Watch addresses for activity
  • Transaction notifications

Quick Reference

Check Balance

import { createHelius } from 'helius-sdk';

const helius = createHelius({ apiKey: 'YOUR_KEY' });
const assets = await helius.getAssetsByOwner({
  ownerAddress: 'WALLET_ADDRESS',
  displayOptions: {
    showFungible: true,
    showNativeBalance: true
  }
});

Send SOL

import { Connection, Keypair, SystemProgram, Transaction, sendAndConfirmTransaction, LAMPORTS_PER_SOL } from '@solana/web3.js';

const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=YOUR_KEY');
const tx = new Transaction().add(
  SystemProgram.transfer({
    fromPubkey: sender.publicKey,
    toPubkey: recipientPubkey,
    lamports: amount * LAMPORTS_PER_SOL
  })
);
await sendAndConfirmTransaction(connection, tx, [sender]);

Jupiter Swap

// 1. Get quote
const quote = await fetch(`https://api.jup.ag/swap/v1/quote?inputMint=${inputMint}&outputMint=${outputMint}&amount=${amount}`);

// 2. Build swap transaction
const swap = await fetch('https://api.jup.ag/swap/v1/swap', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    quoteResponse: await quote.json(),
    userPublicKey: wallet.publicKey.toString()
  })
});

// 3. Sign and send

API Endpoints

Service Base URL
Helius RPC https://mainnet.helius-rpc.com/?api-key=KEY
Helius Sender https://sender.helius-rpc.com/fast
Jupiter Quote https://api.jup.ag/swap/v1/quote
Jupiter Swap https://api.jup.ag/swap/v1/swap

Security

Critical rules:

  • Never log or display private keys
  • Use encrypted storage for keys
  • Validate all addresses before transactions
  • Set reasonable slippage limits (default: 1%)
  • Always confirm large transactions with user

See references/security.md for detailed security practices.

Detailed References

Common Token Addresses

Token Mint Address
SOL So11111111111111111111111111111111111111112 (wrapped)
USDC EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
USDT Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB
BONK DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263

Error Handling

Common errors and solutions:

  • Insufficient SOL: Need SOL for rent + transaction fees
  • Token account not found: Create ATA before sending tokens
  • Transaction too large: Reduce instructions or use address lookup tables
  • Blockhash expired: Retry with fresh blockhash