Skip to main content

AI Agents for Solana

Project description

Solana Agent

PyPI - Version Python 3.13-3.14 PyPI - Downloads License: MIT codecov Build Status Ruff Style

Thin public SDK for the hosted Solana Agent platform.

The public package is intentionally small:

  • One agent per client instance.
  • Hosted chat and hosted wallet flows.
  • Hosted account and pricing APIs.
  • MCP plugin support for external tools.

Python Support

We support the current and previous CPython minor versions.

Today that means:

  • Python 3.14
  • Python 3.13

Install

pip install solana-agent

Quick Start

Use the Solana Agent CLI to get a new privy_user_id from the interactive menu:

uvx solana-agent wallet menu

The generated privy_user_id is saved automatically in the user-local Solana Agent app data directory on Windows, macOS, and Linux. Passing privy_user_id= or config.ai.privy_user_id still overrides the saved value.

from solana_agent import SolanaAgent

agent = SolanaAgent(
    instructions="You are a Solana trading bot.",
    privy_user_id="my-privy-user-id",
)

context = await agent.context(
    conversation_id="my-conversation-id",
    model="chat",
)

response = await agent.message(
    message="What is the price of SOL?",
    **context
)

print(response)

Hosted Memory

context = await agent.context(
    conversation_id="my-conversation-id",
    model="memory",
    memory_ttl_tier="project",
)

Priority Service Tier

context = await agent.context(
    service_tier="priority",
)

MCP Tools

Connect Streamable HTTP MCP servers by enabling the mcp tool and adding server config:

import os
from solana_agent import SolanaAgent

agent = SolanaAgent(
    config={
        "ai": {
            "instructions": "Use connected MCP tools when they help the user.",
            "privy_user_id": os.environ["PRIVY_USER_ID"],
            "tools": ["mcp"],
        },
        "tools": {
            "mcp": {
                "servers": [
                    {
                        "url": os.environ["MCP_SERVER_URL"],
                        "headers": {
                            "Authorization": f"Bearer {os.environ['MCP_SERVER_TOKEN']}",
                        },
                    }
                ],
                "llm_provider": "openai",
                "api_key": os.environ["OPENAI_API_KEY"],
                "llm_model": "gpt-4.1-mini",
            }
        },
    }
)

context = await agent.context(
    conversation_id="mcp-demo",
    model="chat",
)

response = await agent.message(
    "Use the connected MCP tools to summarize my latest CRM tasks.",
    **context,
)

print(response)

Wallet and Billing Helpers

wallet_address = await agent.get_wallet_address()

summary = await agent.get_account_summary()

report = await agent.get_usage_report(
    "month"
)

forecast = await agent.get_usage_forecast(
    window_days=30,
)

pricing = await agent.get_pricing_info()

tooling_totals = summary.get("tooling", {}).get("lifetime", {}).get("totals", {})
tooling_projection = (
    forecast.get("tooling", {})
    .get("projected_month_end", {})
    .get("totals", {})
)

print(tooling_totals)
print(tooling_projection)

Private Key Export

Export the hosted wallet private key when you want self-custody:

uvx solana-agent wallet export --yes

Pass --wallet-id to export an older rotated wallet from old_wallets.

Rotating Wallets

If a wallet needs to be retired, rotate it from the interactive menu:

uxv solana-agent wallet menu

Smoke Testing

For a live hosted smoke run from the CLI, use the dev-gated wallet smoke command or the dev-only wallet menu item:

uvx solana-agent wallet smoke --dev
uvx solana-agent wallet menu --dev

The smoke preview prints a funding estimate in USDC before the live chat checks run. Search-enabled checks are included by default; wallet rotation and private-key export checks are opt-in. Use --big to add the expanded protocol profile: priority-tier chat plus Jupiter, Kamino, and Birdeye read checks. Use --include-transfer --transfer-recipient <wallet> [--transfer-amount-usdc 0.10] when you want the smoke run to execute a live USDC transfer. Add --json to wallet smoke when you want machine-readable output instead of tables.

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

solana_agent-34.0.4.tar.gz (57.1 kB view details)

Uploaded Source

Built Distribution

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

solana_agent-34.0.4-py3-none-any.whl (69.3 kB view details)

Uploaded Python 3

File details

Details for the file solana_agent-34.0.4.tar.gz.

File metadata

  • Download URL: solana_agent-34.0.4.tar.gz
  • Upload date:
  • Size: 57.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for solana_agent-34.0.4.tar.gz
Algorithm Hash digest
SHA256 5c890086da68c7d092a59ebd4cbd647e0b756101d4749b348a139eb7f00f1174
MD5 28d1b1dd4395f93ce12fd9850d758043
BLAKE2b-256 8a0b527d721a5d4312bda0d6919d62bfbbf28896fb54bc3cfe7c78ab201d37fd

See more details on using hashes here.

File details

Details for the file solana_agent-34.0.4-py3-none-any.whl.

File metadata

  • Download URL: solana_agent-34.0.4-py3-none-any.whl
  • Upload date:
  • Size: 69.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for solana_agent-34.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e14f9a8d3b3699202181823e0d1582778b22dffc47b7154687f7d3656d607fcb
MD5 2304952372dee3c2ea2c68244600c31b
BLAKE2b-256 c9ded4478b72c62fefe9d75606910c2e30407dbf39bd524ddb61f78e84beafc8

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