Agent Integration
Elytro is designed for AI agent workflows. This guide covers integration via OpenClaw, Claude Code, and Telegram.
Installation for Agents
Tell your AI agent to install the Elytro skill using one of these platforms:
OpenClaw
Tell your OpenClaw agent to install the following skill URL:
https://raw.githubusercontent.com/Elytro-eth/skills/main/SKILL.mdClaude Code
Coming soon
Critical Rules for Agents
Safety-Critical Rules
- Never guess on-chain data. Always run the appropriate
elytro querycommand to fetch balances, transaction status, token holdings. Do NOT infer or assume values. - Sponsor covers gas only, NOT transaction value. If sending 0.1 ETH, the account must hold ≥ 0.1 ETH regardless of sponsorship.
- Deploy before send. Smart accounts must be deployed before sending transactions. Check
elytro account infofor "Deployed: Yes" before sending. - Fund before activate. The CREATE2 address is deterministic. Send ETH to it pre-deployment if sponsorship might fail.
- Parse JSON output. Query and tx commands return
{ "success": true, "result": {...} }. Always check thesuccessfield.
Output Format
For tx and query commands, always parse stdout as JSON:
// Success{ "success": true, "result": { "balance": "0.5", "symbol": "ETH", ... } }
// Error{ "success": false, "error": { "code": -32001, "message": "...", "data": {...} } }Error codes follow JSON-RPC conventions. Non-JSON output (spinners, headings) goes to stderr.
Workflow Patterns
Pattern 1: Fresh Setup + Send ETH
elytro initelytro account create --chain 11155420 --alias agent-primary# Fund the address via faucet or external transferelytro account activate agent-primaryelytro tx send --tx "to:0xRecipient,value:0.001"Pattern 2: Check Balance Before Transfer
BALANCE=$(elytro query balance agent-primary)# Parse JSON: result.balance# Verify sufficient funds (sponsor covers gas, NOT value)elytro tx send --tx "to:0xRecipient,value:0.001"Pattern 3: Batch Multiple Operations
elytro tx send \ --tx "to:0xAlice,value:0.01" \ --tx "to:0xBob,value:0.02" \ --tx "to:0xContract,data:0xa9059cbb..."All packed into one UserOp (executeBatch), executed atomically.
Pattern 4: Simulate → Send
elytro tx simulate --tx "to:0xAddr,value:0.5"# Check gas cost, sponsor status, balance warningselytro tx send --tx "to:0xAddr,value:0.5"Error Recovery
| Error | Cause | Recovery |
|---|---|---|
| "Wallet not initialized" | No keyring.json | Run elytro init |
| "Vault key not available" | Missing Keychain entry | Check SecretRef injection |
| "No accounts found" | No account created | Run elytro account create |
| "Account not deployed" | Sending tx before activation | Run elytro account activate |
| "Insufficient balance" | Value exceeds balance | Fund the account first |
| "AA21" in error | UserOp simulation failed | Usually balance or nonce issue |
Telegram Bot Integration
Elytro supports Telegram bot integration with Inline Button UI. For detailed Telegram-specific documentation, see the full SKILL.md in the ClawHub skill repository.
Key Principles
- Use Inline Buttons for all confirmations and list displays
- Default menu on ambiguous intent: When user says "open wallet", show Main Menu immediately
- Every sub-screen must include a "Back" button
- Fetch real data before rendering any UI