AI Agents for Solana
Project description
Solana Agent
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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file solana_agent-34.0.3.tar.gz.
File metadata
- Download URL: solana_agent-34.0.3.tar.gz
- Upload date:
- Size: 53.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fbf5ec4146e6bc8ce20e32fbf5f0eefe9b7262f8f9b149bc0c3b2c36b4d0f9a
|
|
| MD5 |
435f4b46caae4abd71b194b6eba7bb35
|
|
| BLAKE2b-256 |
49d7646535bedcb4bf8730e8bd9650cffa7b9959d09e74689beac18c8aa168e4
|
File details
Details for the file solana_agent-34.0.3-py3-none-any.whl.
File metadata
- Download URL: solana_agent-34.0.3-py3-none-any.whl
- Upload date:
- Size: 65.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1873778365f10c8b1e6cf48b1937a03868d94411fd03d7e1784da24930722e9d
|
|
| MD5 |
088e55afdd749eb6c15b6b1d662699da
|
|
| BLAKE2b-256 |
5d8c62715b99c5b21e6eacfb62194c84536996324aa344b8fe1021ff9aeeba8a
|