Skip to content
Back to skills

Solana Wallet

ASecurity

Generic Solana primitives. Provides the `ctx.wallet` contract that every signing skill (pump-fun-trade, jupiter-swap, ...) consumes. | Tool | Use it for | |---|---| | `getAddress` | Wallet pubkey | | `getBalance` | SOL balance (self or any address) | | `getSplBalances` | All SPL holdings | | `transferSol` | Send SOL (capped by `maxTransferSol`) | | `transferSpl` | Send any SPL token; auto-creates recipient ATA | | `wrapSol` / `unwrapSol` | wSOL conversions | | `getRecentSignatures` | Recent a...

  • 7 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 7, 2026
content-marketingapi

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned June 7, 2026

npx -y skills add nirholas/three-ui --skill solana-wallet --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Solana Wallet?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Solana Wallet
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nirholas-solana-wallet/badge)](https://www.skillsdirectory.com/skills/nirholas-solana-wallet)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# solana-wallet

Generic Solana primitives. Provides the `ctx.wallet` contract that every signing
skill (pump-fun-trade, jupiter-swap, ...) consumes.

| Tool | Use it for |
|---|---|
| `getAddress` | Wallet pubkey |
| `getBalance` | SOL balance (self or any address) |
| `getSplBalances` | All SPL holdings |
| `transferSol` | Send SOL (capped by `maxTransferSol`) |
| `transferSpl` | Send any SPL token; auto-creates recipient ATA |
| `wrapSol` / `unwrapSol` | wSOL conversions |
| `getRecentSignatures` | Recent activity |

## Wallet contract

The host runtime injects `ctx.wallet` built via [api/_lib/solana-wallet.js](../../../api/_lib/solana-wallet.js):

```ts
{
  publicKey: PublicKey,
  signTransaction(tx): tx,           // Transaction | VersionedTransaction
  sendAndConfirm(tx, conn): string,  // returns signature
}
```

The wallet itself is recovered from an encrypted keypair stored on the agent
record (see `agent_identities.meta.encrypted_secret`). Never accepts keys via
tool args.

## Safety

- `transferSol` is capped by `manifest.config.maxTransferSol`.
- All write ops set a priority fee from `priorityFeeMicroLamports`.
- All write ops record to `ctx.memory` for the orchestrator to audit.

Files in this skill

  • SKILL.md1.2 KB
  • handlers.js5.5 KB
  • manifest.json769 B
  • tools.json1.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.