A toolkit for creating AI agents that can interact with the Starknet blockchain. Available as both an NPM package and a ready-to-use NestJS server with a web interface. Supports multiple AI providers including Anthropic, OpenAI, Google Gemini, and Ollama.
Quick Start
Prerequisites
- Starknet wallet (recommended: Argent X)
- AI provider API key (Anthropic/OpenAI/Google Gemini/Ollama)
- Node.js and pnpm installed
Installation
git clone https://github.com/kasarlabs/snak.git
cd snak
pnpm install
Configuration
- Create a
.envfile:
# Starknet configuration (mandatory)
STARKNET_PUBLIC_ADDRESS="YOUR_STARKNET_PUBLIC_ADDRESS"
STARKNET_PRIVATE_KEY="YOUR_STARKNET_PRIVATE_KEY"
STARKNET_RPC_URL="YOUR_STARKNET_RPC_URL"
# AI Provider configuration (mandatory)
AI_PROVIDER_API_KEY="YOUR_AI_PROVIDER_API_KEY"
AI_MODEL="YOUR_AI_MODEL"
AI_PROVIDER="YOUR_AI_PROVIDER"
# NestJS server configuration
SERVER_API_KEY="YOUR_SERVER_API_KEY"
SERVER_PORT="YOUR_SERVER_PORT"
#Node Configuration # optional by default : production
NODE_ENV="YOUR_NODE_ENV"
# Agent additional configuration
POSTGRES_USER="YOUR_POSTGRES_USER"
POSTGRES_PASSWORD="YOUR_POSTGRES_PASSWORD"
POSTGRES_ROOT_DB="YOUR_POSTGRES_ROOT_DB"
POSTGRES_HOST="YOUR_POSTGRES_HOST"
POSTGRES_PORT="YOUR_POSTGRES_PORT"
- Create your agent.config.json
{
"name": "Your Agent name",
"bio": "Your AI Agent Bio",
"lore": ["Some lore of your AI Agent 1", "Some lore of your AI Agent 1"],
"objectives": [
"first objective that your AI Agent need to follow",
"second objective that your AI Agent need to follow"
],
"knowledge": [
"first knowledge of your AI Agent",
"second knowledge of your AI Agent"
],
"interval": "Your agent interval beetween each transaction of the Agent in ms,",
"chat_id": "Your Agent Chat-id for isolating memory",
"autonomous": "Your agent is autonomous or not",
"plugins": ["Your first plugin", "Your second plugin"],
"mcpServers": {
"nxp_server_example": {
"command": "npx",
"args": ["-y", "@npm_package_example/npx_server_example"],
"env": {
"API_KEY": "YOUR_API_KEY"
}
},
"local_server_example": {
"command": "node",
"args": ["node /path/to/local_server/dist/index.js"]
}
}
}
You can simply create your own agent configuration using our tool on snakagent
Usage
Prompt Mode
Run the promt:
# start with the default.agent.json
pnpm run start
# start with your custom configuration
pnpm run start --agent="name_of_your_config.json"
Server Mode
Run the server :
# start with the default.agent.json
pnpm run start:server
# start with your custom configuration
pnpm run start:server --agent="name_of_your_config.json"
Available Modes
| Interactive Mode | Autonomous Mode | |
|---|---|---|
| Prompt Mode | ✅ | ✅ |
| Server Mode | ✅ | ❌ |
Implement Snak in your project
- Install snak package
#using npm
npm install @starknet-agent-kit
# using pnpm
pnpm add @starknet-agent-kit
- Create your agent instance
import { StarknetAgent } from 'starknet-agent-kit';
const agent = new StarknetAgent({
provider: new RpcProvider({ nodeUrl: process.env.STARKNET_RPC_URL }),
accountPrivateKey: process.env.STARKNET_PRIVATE_KEY,
accountPublicKey: process.env.STARKNET_PUBLIC_ADDRESS,
aiModel: process.env.AI_MODEL,
aiProvider: process.env.AI_PROVIDER,
aiProviderApiKey: process.env.AI_PROVIDER_API_KEY,
signature: 'key',
agentMode: 'auto',
agentconfig: y,
});
const response = await agent.execute("What's my ETH balance?");
Actions
To learn more about actions you can read this doc section. A comprehensive interface in the Kit will provide an easy-to-navigate catalog of all available plugins and their actions, making discovery and usage simpler.
To add actions to your agent you can easily follow the step-by-steps guide here
Contributing
Contributions are welcome! Feel free to submit a Pull Request.
License
MIT License - see the LICENSE file for details.
For detailed documentation visit docs.kasar.io
Snak
Project Details
- KasarLabs/snak
- @kasarlabs/snak
- MIT License
- Last Updated: 4/18/2025
Categories
Recomended MCP Servers
【Every star you give feeds a hungry developer's motivation!⭐️】A Model Context Protocol (MCP) server implementation that provides Google...
A Model Control Protocol (MCP) connector for integrating your local Zotero with Claude
MCP server for EventCatalog
MCP server to connect an MCP client (Cursor, Claude Desktop etc) with your ZenML MLOps and LLMOps pipelines
Model Context Protocol (MCP) server implementation with Minimax API integration
Model Context Protocol (MCP) Server for Graphlit Platform
A Model Context Protocol (MCP) server that enables LLMs to interact directly with Couchbase databases. Query buckets, execute...
MCP server to interact with LogSeq via its Local HTTP API - enabling AI assistants like Claude to...
Query and Summarize your chat messages.
An advanced MCP Server for accessing and analyzing clinical evidence data, with flexible search options to support precision...





