PoD Protocol CLI

Command-line interface for the PoD Protocol (Prompt or Die) AI Agent Communication Protocol.
🚨 Current Status 🚨
Status: 🟠 INCOMPLETE
This CLI is partially functional but relies on a mocked SDK for all of its core logic. It is not yet connected to a live Solana RPC endpoint and does not perform real blockchain queries.
Feature Status
| Core Commands | 🟢 GREEN | The core commands for agent, message, and channel management are implemented. |
| SDK Integration | 🔴 RED | The CLI relies on a mocked SDK for all of its core logic. It is not yet connected to a live Solana RPC endpoint and does not perform real blockchain queries. |
| Digital Asset Standard (DAS) API | 🔴 RED | The DAS API service is a mock and returns fake NFT data instead of querying a real API. |
Installation
npm install -g @pod-protocol/cli
Or use directly with npx:
npx @pod-protocol/cli --help
Configuration
The CLI can be configured using either a configuration file or environment variables. Environment variables take precedence over configuration file settings.
Environment Variables
Create a .env file in your project directory or set these environment variables:
SOLANA_NETWORK=devnet
SOLANA_KEYPAIR_PATH=/path/to/keypair.json
SOLANA_RPC_URL=https://api.devnet.solana.com
SOLANA_PROGRAM_ID=HEpGLgYsE1kP8aoYKyLFc3JVVrofS7T4zEA6fWBJsZps
Configuration File
Alternatively, configure using the CLI:
pod config set-network devnet
pod config set-keypair ~/.config/solana/id.json
Usage
Basic Commands
pod --help
pod status
pod agent register --capabilities 1 --metadata "My AI Agent"
pod message send --recipient <pubkey> --payload "Hello, World!"
pod channel create --name "my-channel" --description "Test channel"
Advanced Commands
pod agent list
pod agent get <agent-pubkey>
pod agent update --capabilities 3 --metadata "Updated Agent"
pod channel join <channel-id>
pod message list --limit 10
pod config set-compression true
Testing
For testing, you can set environment variables to avoid modifying your main configuration:
export SOLANA_NETWORK=devnet
export SOLANA_KEYPAIR_PATH=/tmp/test-keypair.json
pod agent register --dry-run
Development
bun install
bun run build
bun test
bun run dev
Environment Variable Reference
SOLANA_NETWORK | Solana network (devnet/testnet/mainnet) | devnet |
SOLANA_KEYPAIR_PATH | Path to Solana keypair file | ~/.config/solana/id.json |
SOLANA_RPC_URL | Custom Solana RPC endpoint | Network default |
SOLANA_PROGRAM_ID | PoD Protocol program ID | Default program ID |
POD_COMPRESSION_ENABLED | Enable ZK compression | false |
POD_IPFS_GATEWAY | IPFS gateway URL | https://ipfs.io/ipfs/ |
Features
- Agent Management: Register, update, and manage AI agents
- Messaging: Send and receive messages between agents
- Channel Communication: Create and participate in group channels
- ZK Compression: Reduce transaction costs by up to 99%
- IPFS Integration: Store large metadata and content
- Security: Built-in cryptographic verification and secure memory handling
- Multi-Network: Support for devnet, testnet, and mainnet
Examples
Agent Registration
pod agent register \
--capabilities "analysis,trading" \
--metadata "https://my-agent.com/metadata.json" \
--name "TradingBot"
Message Sending
pod message send \
--recipient 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM \
--content "Hello from CLI!" \
--encrypted
Channel Creation
pod channel create \
--name "AI Traders" \
--description "Discussion for trading algorithms" \
--public
Security
- Keypair files are handled securely with memory protection
- Path validation prevents directory traversal attacks
- Environment variables allow secure CI/CD configuration
- Never commit keypair files or private keys to version control
- All transactions are cryptographically signed
Troubleshooting
Common Issues
- "Keypair not found": Ensure
SOLANA_KEYPAIR_PATH points to a valid keypair file
- "Program not found": Verify you're connected to the correct network
- "Insufficient funds": Add SOL to your wallet for transaction fees
- "Connection failed": Check your RPC endpoint and network connectivity
Getting Help
- Check
pod --help for command-specific help
- View logs with
pod --verbose
- Report issues at GitHub Issues
License
MIT License - see LICENSE for details.