solana-wallet · git:20260429.f07b42a · 2026-04-29 · sha256 583c2052cea2b1a9
solana-wallet git:20260429.f07b42aC
Immutable. This exact content is served forever at /api/v1/blob/583c2052cea2b1a9.
# 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.