What it actually does
Solana Agent Kit is a TypeScript monorepo SDK that wraps many Solana and DeFi protocol integrations (Jupiter, Drift, Orca, Raydium, Metaplex, Lulo, deBridge, OKX, and others) as plugins. Each plugin exposes methods and zod-schema 'Actions'. Adapters convert those Actions into tools for Vercel AI, LangChain, OpenAI Agents, Claude Agent SDK, and MCP servers. The library holds a wallet and signs and sends transactions when an external LLM calls the tools. It does not contain its own LLM loop.
- Plugin system: SolanaAgentKit.use() registers plugin methods and actions, rejecting duplicate method namespackages/core/src/agent/index.ts:75-98
- Converts Actions into tools for Vercel AI, LangChain, OpenAI Agents and Claude Agent SDK (capped at 127 tools)packages/core/src/vercel-ai/index.ts:6-45, packages/core/src/langchain/index.ts:6-48, packages/core/src/openai/index.ts:7-36, packages/core/src/claude/index.ts:42-115
- Exposes actions as an MCP server over stdiopackages/adapter-mcp/src/index.ts:55-190
- Holds a local private-key wallet that signs and sends transactions (KeypairWallet), plus an OWS vault-backed wallet that exports the key into memorypackages/core/src/utils/keypairWallet.ts:29-110, packages/core/src/utils/owsWallet.ts:24-50
- Sign-only mode or sign-and-send via the wallet, with compute-budget and priority-fee handlingpackages/core/src/types/wallet.ts:104-199
- DeFi plugin: perps (Adrena, Flash, Drift, Lavarage, Ranger), lending (Lulo), pool creation (Raydium, Orca, Meteora, Openbook), bridging (deBridge), OKX DEX swaps, Sanctum LSTpackages/plugin-defi/src/index.ts:258-512
- Token plugin: Jupiter swaps and limit orders, transfers, balances, SOL staking, compressed airdrops, Pump.fun launches, Mayan swaps, rugcheck, Pyth pricespackages/plugin-token/src/index.ts:85-149
- NFT plugin: Metaplex deploy/mint, Tensor listing, 3Land collectibles, Magic Eden operationspackages/plugin-nft/src/index.ts:60-116
- Misc plugin: data and utility integrations (CoinGecko, Helius, Alchemy, Elfa AI, Messari, SNS/AllDomains), Squads multisig, Gibwork, Crossmint checkout, OtterSec verificationpackages/plugin-misc/src/index.ts:216-382
- Input validation of LLM-supplied tool parameters with zod before running the handlerpackages/core/src/utils/actionExecutor.ts:7-40
- Ranger module defaults to hardcoded staging API endpoints (overridable via env vars)packages/plugin-defi/src/ranger/index.ts:14-21
README claims vs the code
| Open-source toolkit for connecting AI agents to Solana protocols | Backed by code | Plugins in packages/plugin-* plus adapters in packages/core/src/{vercel-ai,langchain,openai,claude} and packages/adapter-mcp |
| Any agent using any model can autonomously perform 60+ Solana actions | Backed by code | Well over 60 actions are registered across plugins (packages/plugin-defi/src/index.ts:396-512, packages/plugin-misc/src/index.ts:306-382). 'Any model' depends on the adapter, with Vercel AI, LangChain, OpenAI, Claude and MCP provided. |
| Trade tokens, launch tokens, lend assets, send compressed airdrops, bridge across chains | Backed by code | Jupiter trade, Pump.fun launch, Lulo lend, compressed airdrop in packages/plugin-token/src/index.ts and plugin-defi/src/index.ts. deBridge is in plugin-defi; Mayan swap is in plugin-token. |
| Bridge tokens across chains using Wormhole | Not in the code | The README lists Wormhole, and docs exist, but no Wormhole tool or action is registered in the provided plugin indexes (plugin-token, plugin-defi). Only deBridge and Mayan appear. |
| Jito Bundles and Meteora Alpha Vault listed as DeFi features | Not in the code | The Meteora tools registered are only DLMM and Dynamic AMM pool creation (packages/plugin-defi/src/index.ts:70-73). No Jito or Alpha Vault tool appears in the plugin registries. |
| Autonomous modes with configurable action intervals and built-in error handling/recovery | Not in the code | The core package has no agent loop or scheduler. executeAction only returns an error object (packages/core/src/utils/actionExecutor.ts). Any autonomy would live in the example apps, not the library. |
| DALL-E integration for NFT artwork generation | Not in the code | No image generation tool appears in the provided plugin registries. Only an OPENAI_API_KEY config field exists (packages/core/src/types/index.ts:14). |
| Security: handles transaction generation, signing and sending using provided wallets | Backed by code | KeypairWallet and signOrSendTX do local signing and sending (packages/core/src/utils/keypairWallet.ts, packages/core/src/types/wallet.ts). There is no spending limit or confirmation guard; the LLM-driven tools can move funds. |
Code findings
A long base64 string inside code can hide a payload. It may also be an embedded image or certificate.
- packages/plugin-defi/src/okx/actions/getSwapData.ts:94
data: "3UfFcAn6toX6QG3XuYGFA24PKaK4o62QKQQTD4fBR1U7nKPurhPBnLWXZsAymchhkAM9kHJKM3moahBMR9sJUmGHdL59gxq6PXidgJ5e7FUuePqzCRyutowo5qXSGARUpuJ46eMcXG2SgFo3pHx1bi3WH…AI review: benign. The long base58 string is the `tx.data` field in an example output object in the action's `examples` array. It is documentation sample data passed to the LLM and is never decoded or executed. - packages/plugin-misc/src/ottersec/actions/decodeVerificationPdaData.ts:18
hex: "ce65c2888771730ca28e257dae8c81dc8ce27c9cc2451fb1837c52039847481f5b65cc6f152573c3efae07731701872e5391cb1a51627c845f1e12e9754d110f87751ac868003b5f0500000030…AI review: benign. The hex string is the sample `input.hex` in the action's examples, showing an OtterSec verification PDA payload that the tool decodes. It is example data, not hidden code.
Expected for agents that sign transactions. The keys should stay on your machine and only be used to sign.
- packages/core/src/utils/keypairWallet.ts:89
const signature = nacl.sign.detached(message, this.payer.secretKey); - packages/core/src/utils/owsWallet.ts:32
let secretKey: Uint8Array; - packages/plugin-defi/src/lavarage/tools/lavarage.ts:33
const txBuffer = Buffer.from(bs58.decode(txBase58)); - packages/plugin-defi/src/okx/tools/execute_swap.ts:26
secretKey: agent.config.OKX_SECRET_KEY ?? "", - packages/plugin-defi/src/okx/tools/get_chain_data.ts:15
secretKey: agent.config.OKX_SECRET_KEY ?? "", - packages/plugin-defi/src/okx/tools/get_liquidity.ts:15
secretKey: agent.config.OKX_SECRET_KEY ?? "",
Who made it and how it got popular
Nothing unusual in the account, history or stars.
Scanned 1,671 files (1,596 text, 71 binary) at commit 1254fe5. "No red flags" means none of our checks fired, not that the code is guaranteed safe.
Launch a coin for this repo
Any open-source project that passes Vetted can get a pump.fun coin, and anyone can launch it. 90% of the coin's creator fees are locked to the developer's GitHub account, claimable only by them on pump.fun. 10% goes to Vetted. The split is set once at launch and can't be changed.
- The origin check hasn't run on this report. Check the repo again.
- The owner's GitHub account couldn't be read. Check the repo again.
Developers can turn launches off for their repos by adding no-launch to .github/vetted.txt.
Builder's response
The maintainers haven't responded.
Check again
If the repo has new commits, or your level allows a deeper review than this one, a new check runs. Otherwise you'll see this report. Levels