Elytro LogoElytro

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.md

Claude Code

Coming soon

Critical Rules for Agents

Safety-Critical Rules

  1. Never guess on-chain data. Always run the appropriate elytro query command to fetch balances, transaction status, token holdings. Do NOT infer or assume values.
  2. Sponsor covers gas only, NOT transaction value. If sending 0.1 ETH, the account must hold ≥ 0.1 ETH regardless of sponsorship.
  3. Deploy before send. Smart accounts must be deployed before sending transactions. Check elytro account info for "Deployed: Yes" before sending.
  4. Fund before activate. The CREATE2 address is deterministic. Send ETH to it pre-deployment if sponsorship might fail.
  5. Parse JSON output. Query and tx commands return { "success": true, "result": {...} }. Always check the success field.

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 init
elytro account create --chain 11155420 --alias agent-primary
# Fund the address via faucet or external transfer
elytro account activate agent-primary
elytro 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 warnings
elytro tx send --tx "to:0xAddr,value:0.5"

Error Recovery

ErrorCauseRecovery
"Wallet not initialized"No keyring.jsonRun elytro init
"Vault key not available"Missing Keychain entryCheck SecretRef injection
"No accounts found"No account createdRun elytro account create
"Account not deployed"Sending tx before activationRun elytro account activate
"Insufficient balance"Value exceeds balanceFund the account first
"AA21" in errorUserOp simulation failedUsually 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

Resources