
aomi-transact
Build AI-driven crypto agents that simulate and execute transactions on any EVM chain via natural language.
skill install https://www.promptspace.in/skills/aomi-transactUse cases
- Convert natural language prompts into staged blockchain transactions.
- Simulate multi-step DeFi batches on a fork to prevent failed transactions.
- Execute gasless transactions using integrated Account Abstraction.
- Build on-chain trading bots or AI assistants for Uniswap, Aave, and GMX.
- Inspect blockchain state and balances using conversational queries.
Example
Prompt
Output
$ aomi chat "swap 1 USDC for WETH on Uniswap V3, send to my wallet" \
--public-key 0xUserAddress --chain 1 --new-session
I've staged your USDC → WETH swap on Uniswap V3 (0.05% fee tier).
Transaction Batch:
1. Approve Uniswap Router to spend USDC
2. Swap 1 USDC → WETH on V3 0.05% pool, recipient = your wallet
⚡ Wallet request queued: tx-1
to: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 (USDC)
value: 0
chain: 1
⚡ Wallet request queued: tx-2
to: 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45 (Uniswap SwapRouter02)
value: 0
chain: 1
$ aomi tx simulate tx-1 tx-2
Simulation result:
Batch success: true
Stateful: true
Total gas: 197194
Step 1 — Approve Uniswap Router to spend USDC success: true gas: 55798
Step 2 — Swap 1 USDC for WETH on Uniswap V3 success: true gas: 141396
$ aomi tx sign tx-1 tx-2
Exec: aa (alchemy, 7702)
✅ Sent! Hash: 0xc7f8...3a91Known limitations
Requires @aomi-labs/client v0.1.30+ (older versions lack --aa flags and the simulation gate). Account-abstraction sponsorship on L2s (Base, Arbitrum, Optimism) is not guaranteed by the zero-config Alchemy proxy in v0.1.30 — users may need to fund the EOA with a small amount of native gas on the destination chain or configure a BYOK provider (Alchemy with Gas Manager policy or Pimlico). Apps requiring provider tokens (Binance, Polymarket, Dune, Neynar, etc.) need user-supplied credentials via `aomi secret add` — the skill never sets credentials on its own initiative. Drain-vector annotations (recipient/onBehalfOf/mintRecipient ≠ msg.sender) are guard-blocks, not bypassable — by design, calldata that would route funds to a non-self address fails simulation. Public RPCs may rate-limit (429) or fail auth (401); production signing benefits from a dedicated chain-matching RPC.