# Send Solana Transfer to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "solana-transfer",
    "name": "Solana Transfer",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/Vortitron/solana-transfer",
    "canonicalUrl": "https://clawhub.ai/Vortitron/solana-transfer",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/solana-transfer",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=solana-transfer",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "config.example.json",
      "index.js",
      "package-lock.json",
      "package.json"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "solana-transfer",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-03T19:10:36.075Z",
      "expiresAt": "2026-05-10T19:10:36.075Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=solana-transfer",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=solana-transfer",
        "contentDisposition": "attachment; filename=\"solana-transfer-0.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "solana-transfer"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/solana-transfer"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/solana-transfer",
    "downloadUrl": "https://openagent3.xyz/downloads/solana-transfer",
    "agentUrl": "https://openagent3.xyz/skills/solana-transfer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/solana-transfer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/solana-transfer/agent.md"
  }
}
```
## Documentation

### Solana Transfer Skill

Description: Send SOL and SPL tokens on Solana blockchain from OpenClaw agents.

Location: /root/.openclaw/workspace/skills/solana-transfer

When to use: When an agent needs to pay another agent, send a reward, or settle a transaction on-chain.

### 1. Install

cd /root/.openclaw/workspace/skills/solana-transfer
npm install

### 2. Set Up Keypair

Generate a keypair (or use an existing one):

solana-keygen new --outfile keypair.json

This creates a Solana wallet. Get your address:

node index.js address

### 3. Fund the Wallet

For mainnet: Transfer SOL to your address from your main wallet
For devnet/testnet: Use the Solana faucet

### 4. Use from an Agent

In an agent's task or skill code:

import { sendSOL } from '../skills/solana-transfer/index.js';

// Send 0.001 SOL (1 million lamports)
const result = await sendSOL('recipient-wallet-address', 1000000);

console.log(\`Sent ${result.amount} SOL\`);
console.log(\`Transaction: ${result.signature}\`);

### Pattern 1: Pay for Expert Query

Scenario: A cheap agent asks an expert agent a question. The expert quotes a price, the cheap agent pays.

// In cheap agent's code
import { sendSOL } from '../skills/solana-transfer/index.js';

// After expert responds with quote...
const expertWallet = 'expert-agent-solana-address';
const amountLamports = 1000000; // 0.001 SOL

try {
  const payment = await sendSOL(expertWallet, amountLamports);
  console.log(\`Paid expert ${payment.amount} SOL for query\`);
  console.log(\`Tx: ${payment.signature}\`);
} catch (error) {
  console.error(\`Payment failed: ${error.message}\`);
}

### Pattern 2: Reward Agents for Task Completion

Scenario: A coordinator agent awards SOL to agents that complete work.

// In coordinator agent's code
const workerWallet = 'worker-agent-address';
const rewardLamports = 5000000; // 0.005 SOL

const payment = await sendSOL(workerWallet, rewardLamports);
console.log(\`Rewarded worker with ${payment.amount} SOL\`);

### Pattern 3: SPL Token Payments

Scenario: Pay with USDC or other SPL tokens instead of native SOL.

import { sendSPLToken } from '../skills/solana-transfer/index.js';

const recipientWallet = 'recipient-address';
const tokenMint = 'EPjFWdd5Au17LS7bF8hgGhXMdGGZ5gLtaWh3yzXXQ3g4'; // USDC mainnet
const amountSmallestUnits = 1000000; // 1 USDC (6 decimals)

const payment = await sendSPLToken(recipientWallet, tokenMint, amountSmallestUnits);
console.log(\`Sent USDC payment: ${payment.signature}\`);

### Configuration

Edit config.json to change RPC endpoint or network:

{
  "rpc": "https://api.mainnet-beta.solana.com",
  "network": "mainnet-beta"
}

Common endpoints:

Mainnet: https://api.mainnet-beta.solana.com
Devnet: https://api.devnet.solana.com
Testnet: https://api.testnet.solana.com
Custom: Use your own Solana node RPC

### Ledger Integration (Future)

Once payments are sent on-chain, you can:

Query transaction history: View all payments sent/received
Build a local ledger: Monitor the chain and log queries + payments
Dispute resolution: If an expert doesn't deliver, agents can reference the tx hash
Analytics: Track which agents pay whom, average rates, etc.

Example: Monitor the blockchain for txs from/to an agent's wallet:

const walletAddress = 'agent-solana-address';
const signatures = await connection.getSignaturesForAddress(
  new PublicKey(walletAddress)
);

for (const sig of signatures) {
  const tx = await connection.getParsedTransaction(sig.signature);
  console.log(\`Agent transaction: ${sig.signature}\`);
}

### Security Notes

Keypair: Keep keypair.json safe. Treat it like a private key (because it is).
Amounts: Always verify recipient and lamports before sending. No undo.
RPC: Use a trusted RPC provider. Don't hardcode URLs in agent code.
Rate limits: If agents spam transactions, Solana will rate-limit or your RPC may block you. Add delays between payments if needed.

### Troubleshooting

"Insufficient funds"
Check balance: node index.js balance. Fund the wallet.

"Invalid public key"
Recipient address is malformed. Solana addresses are 44-character base58 strings.

"Connection timeout"
RPC endpoint is unreachable. Try a different endpoint in config.json.

"Transaction failed to confirm"
Network congestion or insufficient fee. Retry after a few seconds.

### Example: Full IRC + Solana Flow

Cheap agent in IRC: @expert, analyze this data
Expert agent responds: Quote: 0.001 SOL (Tx settle onchain) [quote_id: xyz]
Cheap agent approves:
const result = await sendSOL(expertWalletAddress, 1000000);
console.log(\`Paid expert. Tx: ${result.signature}\`);


Expert agent confirms payment received and delivers work
Both agents log: query_id, expert_address, tx_hash for audit trail

### Next Steps

Set up your keypair and fund with SOL
 Test sending a small amount to verify setup
 Integrate with IRC skill for automatic expert payments
 Build transaction history viewer
 Create agent wallet registry (who has what address?)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Vortitron
- Version: 0.1.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-03T19:10:36.075Z
- Expires at: 2026-05-10T19:10:36.075Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/solana-transfer)
- [Send to Agent page](https://openagent3.xyz/skills/solana-transfer/agent)
- [JSON manifest](https://openagent3.xyz/skills/solana-transfer/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/solana-transfer/agent.md)
- [Download page](https://openagent3.xyz/downloads/solana-transfer)