Skip to main content

Solana Agent Kit

Project description

Solana Agent Kit

PyPI - Version Python 3.12+ PyPI - Downloads License: MIT Ruff Style Libraries.io dependency status for GitHub repo

A collection of powerful plugins to extend the capabilities of Solana Agent.

🚀 Features

Solana Agent Kit provides a growing library of plugins that enhance your Solana Agent with new capabilities:

  • Solana Transfer - Transfer Solana tokens between the agent's wallet and the destination wallet
  • Solana Swap - Swap Solana tokens on Jupiter in the agent's wallet
  • Solana Balance - Get the token balances of a wallet
  • Solana Price - Get the price of a token
  • Solana SNS Lookup - Get the Solana address for a SNS domain
  • Rugcheck - Check if a token is a rug
  • Internet Search - Search the internet in real-time using Perplexity, Grok, or OpenAI
  • MCP - Interface with any MCP web server - Zapier is supported
  • Image Generation - Generate images with OpenAI, Grok, or Gemini with uploading to S3 compatible storage
  • Nemo Agent - Generate Python projects with Nemo Agent with uploading to S3 compatible storage

📦 Installation

pip install sakit

🔌 Plugins

Solana Transfer

This plugin enables Solana Agent to transfer SOL and SPL tokens from the agent's wallet to the destination wallet.

Don't use tickers - but mint addresses in your user queries.

config = {
    "tools": {
        "solana_transfer": {
            "rpc_url": "my-rpc-url", # Required - your RPC URL - Helius is recommended
            "private_key": "my-private-key", # Required - base58 string - please use env vars to store the key as it is very confidential
        },
    },
}

Solana Swap

This plugin enables Solana Agent to swap tokens using Jupiter.

Don't use tickers - but mint addresses in your user queries.

config = {
    "tools": {
        "solana_swap": {
            "rpc_url": "my-rpc-url", # Required - your RPC URL - Helius is recommended
            "private_key": "my-private-key", # Required - base58 string - please use env vars to store the key as it is very confidential
            "jupiter_url": "my-custom-url" # Optional - if you are using a custom Jupiter service like Metis from QuickNode
        },
    },
}

Solana Balance

This plugin enables Solana Agent to get the token balances of a wallet.

config = {
    "tools": {
        "solana_balance": {
            "api_key": "my-alphavybe-api-key", # Required - your AlphaVybe API key - the free plan allows this call
        },
    },
}

Solana Price

This plugin enables Solana Agent to get the price in USD of a token.

config = {
    "tools": {
        "solana_price": {
            "api_key": "my-birdeye-api-key", # Required - your Birdeye API key - the free plan allows this call
        },
    },
}

Solana SNS Lookup

This plugin enables Solana Agent to get the Solana address of an SNS domain.

config = {
    "tools": {
        "sns_lookup": {
            "quicknode_url": "my-quicknode-rpc-url", # Required - your QuickNode RPC URL with the SNS addon enabled
        },
    },
}

Rugcheck

This plugin enables Solana Agent to check if a token is a rug.

No config is needed.

Internet Search

This plugin enables Solana Agent to search the internet for up-to-date information using Perplexity or OpenAI.

Please ensure you include a prompt to instruct the agent to use the tool - otherwise it may not use it.

config = {    
    "tools": {
        "search_internet": {
            "api_key": "your-api-key", # Required - either a Perplexity, Grok, or OpenAI API key
            "provider": "openai", # Optional, defaults to openai - can be "openai', "perplexity", or "grok" - grok also searches X
            "citations": True, # Optional, defaults to True - only applies for Perplexity and Grok
            "model": "gpt-4o-mini-search-preview"  # Optional, defaults to "sonar" for Perplexity or "gpt-4o-mini-search-preview" for OpenAI or "grok-3-mini-fast" for Grok
        }
    },
    "agents": [
        {
            "name": "research_specialist",
            "instructions": "You are an expert researcher who synthesizes complex information clearly. You use your search_internet tool to get the latest information.",
            "specialization": "Research and knowledge synthesis",
            "tools": ["search_internet"],  # Enable the tool for this agent
        }
    ]
}

Available Search Models for Perplexity

  • sonar
  • sonar-pro

Available Search Models for OpenAI

  • gpt-4o-mini-search-preview
  • gpt-4o-search-preview

Available Search Models for Grok

  • grok-3
  • grok-3-fast
  • grok-3-mini
  • grok-3-mini-fast

MCP

Zapier MCP has been tested, works, and is supported.

Zapier integrates over 7,000+ apps with 30,000+ actions that your AI Agent can utilize.

Other MCP servers may work but are not supported.

OpenAI is a requirement.

config = {
    "openai": {
        "api_key": "your-api-key",
    },
    "tools": {
        "mcp": {
            "url": "my-zapier-mcp-url",
        }
    },
    "agents": [
        {
            "name": "zapier_expert",
            "instructions": "You are an expert in using Zapier integrations using MCP. You always use the mcp tool to perform Zapier AI like actions.",
            "specialization": "Zapier service integration expert",
            "tools": ["mcp"],  # Enable the tool for this agent
        }
    ]
}

Image Generation

This plugin allows the agent to generate images using OpenAI's gpt-image-1 model or Grok's grok-2-image and upload them to S3-compatible storage. It returns the public URL of the uploaded image.

This has been tested using Cloudflare R2.

config = {
    "tools": {
        "image_gen": {
            "provider": "openai",                                        # Required: either "openai", "grok", or "gemini"
            "api_key": "your-api-key",                                   # Required: your OpenAI or Grok or Gemini API key
            "s3_endpoint_url": "https://your-s3-endpoint.com",           # Required: e.g., https://nyc3.digitaloceanspaces.com
            "s3_access_key_id": "YOUR_S3_ACCESS_KEY",                    # Required: Your S3 access key ID
            "s3_secret_access_key": "YOUR_S3_SECRET_KEY",                # Required: Your S3 secret access key
            "s3_bucket_name": "your-bucket-name",                        # Required: The name of your S3 bucket
            "s3_region_name": "your-region",                             # Optional: e.g., "nyc3", needed by some providers
            "s3_public_url_base": "https://your-cdn-or-bucket-url.com/", # Optional: Custom base URL for public links (include trailing slash). If omitted, a standard URL is constructed.
        }
    },
    "agents": [
        {
            "name": "image_creator",
            "instructions": "You are a creative assistant that generates images based on user descriptions. Use the image_gen tool to create and store the image.",
            "specialization": "Image generation and storage",
            "tools": ["image_gen"],  # Enable the tool for this agent
        }
    ]
}

Image Models Used:

  • OpenAI - gpt-image-1
  • Grok - grok-2-image
  • Gemini - imagen-3.0-generate-002

Nemo Agent

This plugin allows the agent to generate python programs using Nemo Agent and uploads the files in a ZIP file to s3-compatible storage. It returns the public URL of the zip file.

This has been tested using Cloudflare R2.

config = {
    "tools": {
        "nemo_agent": {
            "provider": "openai",                                        # Required: either "openai" or "gemini"
            "api_key": "your-api-key",                                   # Required: your OpenAI or Gemini API key
            "s3_endpoint_url": "https://your-s3-endpoint.com",           # Required: e.g., https://nyc3.digitaloceanspaces.com
            "s3_access_key_id": "YOUR_S3_ACCESS_KEY",                    # Required: Your S3 access key ID
            "s3_secret_access_key": "YOUR_S3_SECRET_KEY",                # Required: Your S3 secret access key
            "s3_bucket_name": "your-bucket-name",                        # Required: The name of your S3 bucket
            "s3_region_name": "your-region",                             # Optional: e.g., "nyc3", needed by some providers
            "s3_public_url_base": "https://your-cdn-or-bucket-url.com/", # Optional: Custom base URL for public links (include trailing slash). If omitted, a standard URL is constructed.
        }
    },
    "agents": [
        {
            "name": "python_dev",
            "instructions": "You are an expert Python Developer. You always use your nemo_agent tool to generate python code.",
            "specialization": "Python Developer",
            "tools": ["nemo_agent"],  # Enable the tool for this agent
        }
    ]
}

🧩 Plugin Development

Want to add your own plugins to Solana Agent Kit? Follow these guidelines:

  1. Create a new plugin directory under solana_agent_kit/
  2. Implement a plugin class that follows Solana Agent's plugin architecture
  3. Add your plugin to the list in init.py
  4. Test thoroughly
  5. Submit a PR!

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sakit-12.4.12.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sakit-12.4.12-py3-none-any.whl (43.5 kB view details)

Uploaded Python 3

File details

Details for the file sakit-12.4.12.tar.gz.

File metadata

  • Download URL: sakit-12.4.12.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for sakit-12.4.12.tar.gz
Algorithm Hash digest
SHA256 327c9dcabe59a1d29b526e36032fcc23eed79b8527c98ca1d6b09f5151e5f141
MD5 7d1b72bc3462ec3f2c9617a7108d2b43
BLAKE2b-256 5c083e897ab5fd4bb3992f8aa469da79ed27e31ff202c8345fc30d852ae94d5e

See more details on using hashes here.

File details

Details for the file sakit-12.4.12-py3-none-any.whl.

File metadata

  • Download URL: sakit-12.4.12-py3-none-any.whl
  • Upload date:
  • Size: 43.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for sakit-12.4.12-py3-none-any.whl
Algorithm Hash digest
SHA256 3c24e8ba622c7073bc0f4f44d60ea8687e26ed488ec0e21365becd13b45a6422
MD5 4e6d3e5d8d914d518dea9df8ab641252
BLAKE2b-256 622149f2de7ed43c5ca8b7d29a4c00ae323b09dddd2c1e0f0128ac22e6166939

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page