Solana Agent Kit

An open-source toolkit for connecting AI agents to Solana protocols. Now, any agent, using any model can autonomously perform 15+ Solana actions.

Quick Start

npm install solana-agent-kit
import { SolanaAgentKit, createSolanaTools } from "solana-agent-kit";

// Initialize with private key and optional RPC URL
const agent = new SolanaAgentKit(
  "your-wallet-private-key-as-base58",
  "https://api.mainnet-beta.solana.com",
  "your-openai-api-key"
);

// Create LangChain tools
const tools = createSolanaTools(agent);

Core Features

Blockchain Operations

  • Token Operations

    • Deploy SPL tokens

    • Transfer assets

    • Balance checks

    • Stake SOL

    • ZK compressed airdrops

  • NFT Management

    • Collection deployment

    • NFT minting

    • Metadata management

    • Royalty configuration

  • DeFi Integration

    • Jupiter Exchange swaps

    • Launch on Pump

    • Raydium pool creation

    • Orca whirlpool integration

    • Meteora Dynamic AMM

    • Openbook market creation

    • SNS operations

    • Jito Bundles

  • Solana Blinks

    • Lending operations

    • Arcade Games

    • JupSOL staking

AI Integration Features

  • LangChain Integration

    • Ready-to-use LangChain tools

    • Autonomous agent support with React

    • Memory management

    • Streaming responses

  • Autonomous Modes

    • Interactive chat mode

    • Autonomous mode

    • Configurable intervals

    • Error handling and recovery

  • AI Tools

    • DALL-E integration for NFTs

    • Natural language processing

    • Price feed integration

    • Automated decision-making

Example Usage

Deploy a Token

const result = await agent.deployToken(
  "my ai token", // name
  "uri", // uri
  "token", // symbol
  9, // decimals
  1000000 // initial supply
);

console.log("Token Mint Address:", result.mint.toString());

Create NFT Collection

const collection = await agent.deployCollection({
  name: "My NFT Collection",
  uri: "https://arweave.net/metadata.json",
  royaltyBasisPoints: 500, // 5%
  creators: [
    {
      address: "creator-wallet-address",
      percentage: 100,
    },
  ],
});

Send Compressed Airdrop

import { PublicKey } from "@solana/web3.js";

(async () => {
  console.log(
    "~Airdrop cost estimate:",
    getAirdropCostEstimate(
      1000, // recipients
      30_000 // priority fee in lamports
    )
  );

  const signature = await agent.sendCompressedAirdrop(
    new PublicKey("JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"), // mint
    42, // amount per recipient
    [
      new PublicKey("1nc1nerator11111111111111111111111111111111"),
      // ... add more recipients
    ],
    30_000 // priority fee in lamports
  );
})();

Next Steps

Check out our API Reference for detailed documentation of all available functions and features.

For more examples and detailed usage instructions, visit our Quickstart Guide.