aomi-transact
>
Allowed Tools
Provided by Plugin
aomi
Aomi for AI agents — drive the Aomi CLI from natural-language prompts (chat, simulate, sign on-chain transactions with account-abstraction-first execution) and scaffold new Aomi apps from API specs. Bundle ships two skills: aomi-transact (run on-chain across 40+ DeFi/perps/CEX/social apps on EVM mainnets and L2s) and aomi-build (scaffold Rust SDK crates from OpenAPI/Swagger specs).
Installation
This skill is included in the aomi plugin:
/plugin install aomi@claude-code-plugins-plus
Click to copy
Instructions
Aomi Transact
Overview
Aomi Transact drives the aomi TypeScript CLI to build natural-language crypto agents and web3 assistants. It composes calldata, fork-simulates transactions as a batch, and stages wallet requests for explicit user signing — non-custodial throughout. Current chain metadata includes Ethereum, Polygon, Arbitrum, Base, Optimism, Sepolia, Linea, Monad, Monad Testnet, and local Anvil. The npm CLI is the production/end-user surface; the Rust aomi-cli in product-mono is an in-process dev/test CLI with different signing gates. For deep references, see commands.md, workflows.md, gotchas.md, account-abstraction.md, apps.md, examples.md, thread.md, drain-vectors.md, troubleshooting.md.
Prerequisites
- Node.js 18+ with npm or npx
@aomi-labs/clientv0.1.42 or newer:npm install -g @aomi-labs/client@latest- For EVM signing: a 0x-prefixed private key via
aomi wallet dev-key,--private-key, orPRIVATE_KEY - For Solana sign-only flows: a base58 or JSON keypair via
aomi wallet dev-key --solana,--solana-private-key, orSOLANAPRIVATEKEY - Optional:
AOMIACCOUNTBEARER/--account-bearerfor authenticated account-bound requests - Optional: Alchemy or Pimlico credentials for direct account-abstraction providers; otherwise the CLI tries the backend Alchemy proxy path
Instructions
- Detect or install the CLI:
aomi --version 2>/dev/null || npx @aomi-labs/client@latest --version - Start a new thread:
aomi chat "" --new-session - Inspect queue:
aomi tx list - For multi-step flows, simulate first:
aomi tx simulate tx-1 tx-2 - Sign:
aomi tx sign tx-1 - Verify:
aomi thread statusoraomi thread log
For the full procedure (read-only requests, building wallet requests, signing policy, batch simulation, secret ingestion), see workflows.md.
Examples
aomi chat "what is the price of ETH?" --new-session
aomi chat "swap 1 ETH for USDC" --new-session --public-key 0xYourAddress --chain 1
aomi tx list && aomi tx simulate tx-1 tx-2 && aomi tx sign tx-1 tx-2
aomi chat "stake 0.5 ETH on Lido" --app lido --chain 1 --new-session
Four end-to-end walkthroughs (approve+swap, lending, bridging, staking) in examples.md. Per-app first-turn examples (Khalani, 0x, Polymarket, Binance, Neynar) in apps.md.
Output
aomi chat: agent response or⚡ Wallet request queued: tx-Naomi tx list: table of pending/signed tx ids withbatch_statusaomi tx simulate: per-step success/failure, revert reason, gas usageaomi tx sign: transaction hash and on-chain confirmation
Error Handling
| Error | Cause | Solution |
|---|---|---|
insufficient funds for transfer |
EOA has no native gas | Fund EOA or configure AA sponsorship |
AA execution failed with all modes |
AA path failed after mode fallback | Read the per-mode errors; use --eoa only if the user accepts EOA gas/payment semantics |
stateful: false in simulation |
Wrong batch order | Reorder tx ids to match execution dependency |
RPC 401/429 |
Rate-limited or missing key | Set --rpc-url to authenticated endpoint |
| No tx queued after chat | Agent returned quote first | Run aomi tx list; send a confirmation reply |
Orphaned tx-N in list |
Previous simulation failed | Only sign txs with batch_status: passed |
Failed to get apps/models: HTTP 404 |
Public backend does not expose that introspection route | Treat app list/model list as backend-dependent; do not block chat/sign flows on it |
Full troubleshooting in troubleshooting.md.
Safety Justification
This skill is risk_tier: L2 because it can sign and broadcast on-chain transactions. The permissions manifest enforces least privilege:
- Shell allowlist scopes execution to
aomiandnpx @aomi-labs/client@latestonly — no arbitrary subprocesses. - Network allowlist restricts outbound traffic to
api.aomi.dev. User-supplied--rpc-urlendpoints are resolved by the CLI itself; operators must review them before allowing signing. - File scope is read+write to
~/.aomi/only; identity files (SOUL.md,MEMORY.md,AGENTS.md) are deny-listed against writes per OWASP AST03 mitigation #3. - No blind signing. Multi-step flows go through
aomi tx simulateon a forked chain beforeaomi tx sign. Drain-vector calldata fields (recipient,onBehalfOf,mintRecipient,_to) are blocked at simulation time when they do not equalmsg.sender— see drain-vectors.md. - Opaque credentials. The skill never fabricates, derives, or echoes credential values; setup commands run only when the user explicitly asks and supplies the value in this turn. Full rules in gotchas.md → Hard Rules.
When to Use
- The user wants to chat with the Aomi agent from the terminal.
- The user wants balances, prices, routes, quotes, or transaction status.
- The user wants to build, simulate, confirm, sign, or broadcast wallet requests.
- The user wants to inspect or switch apps, models, chains, or threads.
- The user wants to inspect or change Account Abstraction settings.
- The user wants to authenticate a CLI account with
aomi login, inspect it withaomi account, or inspect linked wallets withaomi wallet ls. - The user wants to build a new app from an API spec or SDK — use the companion skill aomi-build.
Command Surface
aomi --prompt "<message>" Send one prompt and exit
aomi chat <message> Send a message
aomi tx list|simulate|sign
aomi thread list|new|resume|delete|status|log|events|close
aomi model list|current|set
aomi app list|current
aomi chain list|current|set
aomi wallet ls|dev-key|set-mode
aomi login|logout
aomi account
aomi cron ls|show|cancel
aomi config current|set-backend
aomi secret list|clear|add
aomi deploy
Full command reference, flags, and env vars in commands.md.
Resources
- Source repository: https://github.com/aomi-labs/skills/tree/main/aomi-transact
- npm package: https://www.npmjs.com/package/@aomi-labs/client
- Companion skill for adding new protocol integrations: aomi-build
- Account abstraction deep-dive: references/account-abstraction.md
- Drain-vector catalog (security): references/drain-vectors.md
- End-to-end transaction examples: references/examples.md
- Troubleshooting playbook: references/troubleshooting.md
- OWASP AST03 (Over-Privileged Skills) spec: https://owasp.org/www-project-agentic-skills-top-10/ast03
- Anthropic skill spec: https://docs.claude.com/en/docs/claude-code/skills