running your entire governance, multisig and funding lifecycle (including bonding curves, DEX integrations, etc) through an AI-assisted agent.

- DAO Creation: Create standard DAOs or integrated DAOs with Squads multisig support
- Treasury Management: Fund and manage both DAO treasury and multisig vaults
- Bonding Curves: Launch tokens with bonding curve economics and automatic DAO creation
- Proposal Creation: Create SOL or token transfer proposals
- Voting System: Vote to approve or deny proposals
- Execution: Execute approved proposals
- Wallet Management: Import, create, and fund wallets
- Model Context Protocol (MCP): Natural language interaction with your DAOs
- CLI Interface: Traditional command-line interface
- MCP Interface: Natural language AI-assisted interface
- Node.js (v16+)
- Yarn or npm
- Solana CLI tools (for wallet management)
- A Solana wallet with SOL for transaction fees
Clone the repository and install dependencies:
# Clone the repository
git clone https://github.com/assetCLI/assetCLI-init.git
cd assetCLI-init
# Install dependencies
pnpm install
# Build the project
pnpm build
# Link the CLI tool globally (optional)
npm linkBy default, the CLI connects to a local Solana validator. You can change the network:
# Set network to devnet
assetCLI config set-cluster devnet
# Set network to mainnet
assetCLI config set-cluster mainnet
# Set to local validator
assetCLI config set-cluster localhostBefore using the DAO CLI, you need to set up a wallet:
# Import an existing wallet
assetCLI wallet import ~/.config/solana/id.json
# Create a new wallet
assetCLI wallet create
# Check wallet config
assetCLI wallet show# Create an integrated DAO with Squads multisig
assetCLI dao init --name "My DAO" --threshold 2 --members "pubkey1,pubkey2,pubkey3"
# Create a standard DAO without multisig integration
assetCLI dao init --name "Standard DAO" --threshold 2 --members "pubkey1,pubkey2,pubkey3" --integrated false# List all DAOs where you are a member
assetCLI dao list
# Switch to a specific DAO
assetCLI dao use <REALM_ADDRESS>
# Show details about the current active DAO
assetCLI dao show# Fund with SOL (automatically detects if it's a treasury or multisig vault)
assetCLI dao fund --amount 0.5
# Fund with tokens
assetCLI dao fund-token --mint <TOKEN_MINT_ADDRESS> --amount 100# Create a SOL transfer proposal
assetCLI proposal transfer --amount 0.1 --recipient <RECIPIENT_ADDRESS> --name "Pay Developer" --description "Payment for UI work"
# Create a token transfer proposal
assetCLI proposal transfer --mint <TOKEN_MINT_ADDRESS> --amount 50 --recipient <RECIPIENT_ADDRESS># List all proposals
assetCLI proposal list
# Vote to approve a proposal
assetCLI proposal vote --proposal <PROPOSAL_ADDRESS>
# Vote to deny a proposal
assetCLI proposal vote --proposal <PROPOSAL_ADDRESS> --deny
# Execute an approved proposal
assetCLI proposal execute --proposal <PROPOSAL_ADDRESS>The CLI includes a powerful bonding curve module for token launches with auto-DAO creation:
# Initialize the bonding curve protocol (done once)
assetCLI bonding-curve init
# Get global bonding curve settings
assetCLI bonding-curve get-global-settings
# Launch a new token with an associated DAO
assetCLI bonding-curve launch-token \
--name "MyToken" \
--symbol "MTK" \
--file "path/to/logo.png" \
--sol-raise-target 100 \
--description "My awesome token project" \
--x-account "myTwitterHandle"
# Buy or sell tokens using the bonding curve
assetCLI bonding-curve swap \
--mint <TOKEN_MINT_ADDRESS> \
--direction buy \
--amount 1.5
# List all tokens available on the bonding curve
assetCLI bonding-curve get-all-tokensThe project includes automated tests for both standard and integrated DAO workflows:
# Run all tests
pnpm test
# Run specific test suites
pnpm test:integrated # For integrated DAO tests
pnpm test:standard # For standard DAO tests# Start a local validator
chmod +x local-dev.sh
./local-dev.sh
# Configure Solana to use localhost
solana config set localhost
# Import your wallet
assetCLI wallet import ~/.config/solana/id.json
# Airdrop SOL to your wallet
solana airdrop 10# Configure Solana to use devnet
solana config set devnet
# Import your wallet
assetCLI wallet import ~/.config/solana/id.json
# Airdrop SOL to your wallet
solana airdrop 2Here's a step-by-step workflow to test all major features:
-
Initial setup:
assetCLI wallet import ~/.config/solana/dev-wallet.json assetCLI wallet balance -
Create a DAO:
assetCLI dao init --name "Test DAO" --threshold 1 -
Fund the DAO:
assetCLI dao fund --amount 0.5
-
Create a proposal:
assetCLI proposal transfer --amount 0.1 --recipient <ADDRESS>
-
Vote on the proposal:
assetCLI proposal vote --proposal <PROPOSAL_ADDRESS>
-
Verify the transfer:
solana balance -u <RECIPIENT_ADDRESS>
This tool also features a powerful Model Context Protocol (MCP) interface that allows users to interact with DAOs using natural language commands through compatible AI clients like Claude Desktop.
- A compatible MCP client (e.g., Claude Desktop)
- Node.js (v16+)
- Change the Claude Desktop MCP server settings:
For MacOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.jsonFor Windows:
code $env:AppData\Claude\claude_desktop_config.jsonThe final configuration should look like the following :
{
"mcpServers": {
"assetCLI": {
"command": "node",
"args": ["$(pwd)/dist/mcp-server.js"]
}
}
}The MCP interface supports natural language commands. Here are examples of what you can ask:
Set my cluster to devnet
Import my wallet from ~/.config/solana/id.json
Show me my wallet information
What's the current configuration?
Create a new integrated DAO called "Community Fund" with 3 members and a threshold of 2
Create a standard DAO named "Charity DAO" with these members: [pubkey1, pubkey2] and a threshold of 1
Show me all the DAOs I'm a member of
I want to use the DAO with address abc123...
Tell me about my current DAO
Fund my DAO treasury with 0.5 SOL
Send 100 tokens to my multisig vault from the mint address xyz789...
What's the balance of my DAO treasury?
Create a proposal to send 0.1 SOL to address abc123... with title "Web Development Fee"
Make a token transfer proposal to send 50 USDC to our developer
Show me all active proposals for my DAO
I want to vote yes on proposal abc123...
Vote against the proposal xyz789...
Execute the approved proposal abc123...
Get global bonding curve settings
Launch a new token called "Community Token" with symbol "CMT" on the bonding curve
Get information about the bonding curve for mint address xyz789...
Buy 2 SOL worth of tokens from the bonding curve at mint address xyz789...
Sell 100 tokens back to the bonding curve
Show me all tokens available on bonding curves
Get my token holdings
Get the balance of address abc123...
Look up transaction signature xyz789...
What happened in transaction abc123...?
Access detailed documentation through the MCP interface:
GET assetCLI://docs/readme
GET assetCLI://docs/dao-guide
GET assetCLI://docs/proposal-guide
GET assetCLI://docs/wallet-guide
GET assetCLI://docs/bonding-curve-guide
Follow us on YouTube for more demos and tutorials
assetCLI-init/
โโโ programs/
โ โโโ bonding-curve/ # Solana program for bonding curves
โโโ src/
โ โโโ commands/ # CLI command implementations
โ โโโ mcp/ # MCP tools and resources
โ โโโ services/ # Core business logic
โ โ โโโ bonding-curve-service.ts # Bonding curve implementation
โ โ โโโ governance-service.ts # DAO management
โ โ โโโ multisig-service.ts # Multisig implementation
โ โโโ utils/ # Utility functions
โ โโโ types/ # TypeScript type definitions
โ โโโ debug/ # Debug scripts for testing
โ โโโ mcp-server.ts # MCP server implementation
โ โโโ index.ts # Entry point
โโโ tests/ # Test files
โโโ dist/ # Compiled output
โโโ docs/ # Documentation
The application integrates multiple key components:
- SPL Governance: For DAO creation, proposal management, and voting
- Squads Multisig: For multi-signature transaction approval
- Bonding Curve: For token launches with automatic liquidity and price discovery
- Model Context Protocol (MCP): For AI-assisted interactions and operations
For integrated DAOs, the tool creates a governance structure where proposals can control a multisig vault, enabling more complex treasury management with the security of multisig approvals.
The bonding curve system allows for launching tokens with built-in liquidity mechanisms and automatic DAO creation for community governance.
The MCP integration provides:
- Natural language processing for intuitive interactions
- Documentation and help resources
- AI-assisted operation suggestions
To set up a development environment:
# Clone the repository
git clone https://github.com/assetCLI/assetCLI-init.git
cd assetCLI-init
# Install dependencies
pnpm install
# Run CLI in development mode
pnpm dev
# Build the project
pnpm build- Insufficient funds errors: Ensure your wallet has enough SOL
- Transaction errors: Verify that you're using correct account addresses
- "Account not found" errors: The blockchain might be congested; try again
- Proposal execution failures: Make sure the proposal has been approved
- MCP connection issues: Verify the MCP server is running and accessible
- Natural language parsing errors: Try using more specific language or make your request more explicit
- Bonding curve errors: Check that you've initialized the bonding curve protocol
- Invalid start time errors: The bonding curve requires a start time in the future
This tool collects anonymous telemetry data to help improve future development. Here's what you should know:
- First-use event only: We only send telemetry once, on the first time you run the CLI
- Platform information: Basic details about your operating system (platform, release, architecture)
- Anonymous client ID: A hashed identifier generated from your system information and a random salt
- Personal information: No personal data, wallet addresses, or keys
- Command usage: No commands or queries you run are tracked
- DAO information: No data about your DAOs or proposals
- A configuration file at
~/.config/asset-cli/machine_salt.jsoncontains a random salt - A telemetry flag file at
~/.config/asset-cli/ga_telemetry_flag.jsontracks whether telemetry has already been sent
You can disable telemetry completely by using the --noga flag:
# Disable telemetry permanently
assetCLI --noga <command>Once you use the --noga flag, your preference will be saved and no telemetry will ever be sent, even on future runs.
To reset your local configuration:
rm -rf ~/.config/asset-cliThis project is licensed under the MIT License - see the LICENSE file for details.