vetted

sendaifun/solana-agent-kit

Checked 25 h agoAI reviewCommit 1254fe5
Is it safe?
No red flags
None of our safety checks fired.
Is it real?
Partly delivers
4 of 8 README claims fully backed by the code.

What it actually does

Framework

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 protocolsBacked by codePlugins 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 actionsBacked by codeWell 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 chainsBacked by codeJupiter 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 WormholeNot in the codeThe 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 featuresNot in the codeThe 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/recoveryNot in the codeThe 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 generationNot in the codeNo 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 walletsBacked by codeKeypairWallet 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

Large encoded blob in source code

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.
Handles wallet private keys or seed phrases

Expected for agents that sign transactions. The keys should stay on your machine and only be used to sign.

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.

Not eligible yet.
  • 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