Build natural-language crypto/DeFi agents and EVM MCP plugins (Claude Code, Cursor, Codex, Gemini). Aomi turns prompts into wallet-signed txs on Ethereum, Base, Arbitrum, Optimism, Polygon, Linea — non-custodial, fork-simulated. 40+ apps: Uniswap, Aave, Lido, Morpho, GMX, Hyperliquid, Polymarket.
npx skills add https://github.com/lingxling/awesome-skills-cn --skill aomi-transact
> Authorized use only. This skill signs and broadcasts on-chain transactions on the user's behalf. The user must explicitly request each signing step. The skill will not run aomi tx sign without an explicit user request and a corresponding tx-N queued by aomi tx list.
>
> Signing gate. Do not include aomi tx sign in a copied or runnable multi-command block. Stop after listing or simulating queued transactions, summarize the tx ids, chain, value, recipient, calldata purpose, and simulation result, then ask the user for an explicit signing instruction such as sign tx-1. Only run the exact signing command after that separate approval.
aomi-transact is a procedure for driving the Aomi CLI (@aomi-labs/client) from natural-language prompts. The user types something like *"swap 1 ETH for USDC on Uniswap"*; the agent picks the right protocol and contract, stages the approve+swap as a batch, simulates it on a forked chain, and returns a queued wallet request for the user to sign. The wallet only ever sees calldata that already passed simulation.
The CLI is account-abstraction-first: by default it signs through a zero-config Alchemy proxy (no provider credentials needed), using EIP-7702 on Ethereum mainnet and ERC-4337 on L2s. Each aomi <subcommand> invocation starts, runs, and exits — there is no long-running process.
The full skill including references (account-abstraction.md, apps.md, examples.md, session.md, troubleshooting.md, drain-vectors.md), templates (aomi-workflow.sh), and per-host metadata (agents/openai.yaml) lives upstream at aomi-labs/skills. This entry is the canonical SKILL.md only — clone the upstream for the full bundle.
aomi --prompt "what is the price of ETH?" --new-session
Returns a quote with no wallet request queued. Use aomi tx list to confirm there's nothing pending.
aomi chat "Stake 0.01 ETH with Lido to get stETH" \
--public-key 0xUserAddress --chain 1 --new-session
aomi tx list
submit(address(0)) on Lido stETH 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84, value = 0.01 ETH. No approve, single tx. Stop here, show the queued transaction details, and wait for the user's explicit instruction before signing.
aomi chat "swap 1 USDC for WETH on Uniswap V3, send to my wallet" \
--public-key 0xUserAddress --chain 1 --new-session
aomi tx list # tx-1 = approve, tx-2 = swap
aomi tx simulate tx-1 tx-2 # mandatory for multi-step
The simulator runs each tx sequentially on a forked chain so the swap step sees the approve's state changes. Don't sign step 2 independently — it would revert. Stop after simulation, summarize the batch, and wait for an explicit user instruction naming both tx ids before signing.
aomi chat "Bridge 50 USDC from Ethereum to Base via CCTP. Recipient is my wallet." \
--public-key 0xUserAddress --chain 1 --new-session
aomi tx list
aomi tx simulate tx-1 tx-2
Stop after simulation and wait for the user to explicitly approve signing the named tx ids. After signing, source-chain burn confirms in 1-2 blocks; destination mint requires Circle's off-chain attestation (~13-19 minutes).
@aomi-labs/client v0.1.30 or newer. Older versions lack --aa, --aa-provider, --aa-mode and the simulation gate. Install with npm install -g @aomi-labs/client or run on demand via npx @aomi-labs/[email protected] ....api.aomi.dev. Without network access, only local read commands (aomi tx list, aomi session log) work.aomi tx sign returns viem's insufficient funds for transfer. Either fund the EOA with a small amount of native gas, or configure a real BYOK Alchemy/Pimlico provider with a sponsorship policy. Do not retry with --eoa — that path also needs gas.binance, polymarket, dune, etc.) must have credentials configured by the user in their own shell or via aomi secret add NAME=<value>. The skill never sets credentials on its own initiative.recipient/onBehalfOf/mintRecipient ≠ msg.sender. This is a security feature, not a bug — surface the block to the user rather than reformulating the prompt.429) or fail auth (401). The user must supply a reliable chain-matching RPC via --rpc-url for production signing.aomi tx list for the latest passing batch.--new-session on the first command of a new task. Reusing it mid-task starts a fresh conversation and the agent loses the quote it just gave you.aomi tx list before aomi tx sign. Never assume a chat response queued a transaction.aomi tx simulate tx-1 tx-2 ... before signing a multi-step batch. Single-tx flows are simulation-optional but never wrong to simulate.aomi tx sign only after the user gives a separate, explicit approval naming the exact queued tx-N ids.Batch [...] passed txs. Skip orphans from earlier failed attempts (failed at step N: 0x...).--rpc-url to the queued tx's chain, not the session chain (--chain) — they are independent controls.This skill can sign and broadcast on-chain transactions worth real value. Use only on accounts you own and on networks you trust. The skill does not custody funds; the user retains full control of signing keys via --public-key and the underlying wallet. Review every queued tx-N before running aomi tx sign.
@aomi-labs/client on npmFor the full skill including per-flow examples (CCTP bridge, Aave supply, Lido stake, Uniswap swap), AA mode reference, drain-vector table, troubleshooting guide, and the bash workflow template, see the upstream repo:
Build professional financial services data packs from various sources including CIMs, offering memorandums, SEC filings, web search, or MCP servers. Extract, normalize, and standardize financial data into investment committee-ready Excel workbooks with consistent structure, proper formatting, and documented assumptions. Use for M&A due diligence, private equity analysis, investment committee materials, and standardizing financial reporting across portfolio companies. Do not use for simple financial calculations or working with already-completed data packs.
Give the AI agent its own EVM wallet with admin-controlled policies the agent CANNOT bypass even under prompt injection. Encrypted keystore (AES-256-GCM, scrypt KDF), policy file the agent has no tool to write, deterministic policy gate on every signing operation, optional local HTTP dashboard. Triggers: agent wallet, give the agent a wallet, agent address, fund the agent, agent autonomy, policy gate, kill switch, agent permissions, bounded autonomy, ERC-4337 alternative, session-key alternative.
BNB Chain MCP server connection and tool usage. Covers npx @bnb-chain/mcp@latest, PRIVATE_KEY and RPC, and every MCP tool — blocks, transactions, contracts, ERC20/NFT transfers, wallet, ERC-8004 agent registration, Greenfield. Use when connecting to bnbchain-mcp, querying or transacting on BNB Chain/opBNB/EVM, registering as ERC-8004 agent, or using Greenfield.
Entry point for Internet Court — the trust layer for agent-to-agent commerce. Use whenever an agent needs to transact with another agent or a paid service, or a user mentions agent payments, paid APIs (HTTP 402/x402), wallet custody or trust concerns, spending mandates, delegated permissions (ERC-7710/7715), escrow, agent identity or reputation (ERC-8004), negotiation between agents (A2A), agent jobs (ERC-8183), machine payments (MPP, AP2), supervision of agent behavior, revocation, verification, or dispute resolution (GenLayer) — even if they never say "Internet Court". Routes to the vendored protocol skills and connector skills in this package.
Upload files to IPFS through the Kleros x402 payment gateway in exchange for $0.01 USDC on Base mainnet. Use this skill **specifically** when the user is uploading content destined for the Kleros ecosystem — dispute evidence, meta-evidence JSON, court / dispute / arbitrator policies, Curate item metadata, juror justifications, or any artifact a Kleros smart contract or subgraph will reference by IPFS CID. Trigger when the request mentions Kleros, a court / arbitrator / dispute / juror / curate / proof-of-humanity context, or any of the conventional Kleros operation tags (evidence, meta-evidence, justification). Do NOT trigger for generic 'upload to IPFS' / 'get me a CID' requests with no Kleros context — point those users at Pinata, web3.storage, or any general-purpose pinning service instead. Exception: if the user explicitly names this gateway (kleros-ipfs-gateway.fly.dev / kleros-api.netlify.app/.netlify/functions/upload-to-ipfs), explicitly requests this skill, or asks the agent to test / validate / sanity-check this gateway or skill, trigger regardless of topical context — a deliberate end-to-end test is a valid trigger.
Use when an agent hits HTTP 402 / payment-required, or the user mentions x402, x402Version, X-PAYMENT, PAYMENT-REQUIRED, PAYMENT-SIGNATURE, WWW-Authenticate: Payment, permit2, upto, metered billing, a payment channel / voucher / session, channelId / channel_id, opening / closing / topping up / settling / refunding a channel, a paymentId or a2a_ link, creating / checking a payment link, A2MCP / an A2MCP endpoint, or sending a request to / calling an Agent's endpoint with a concrete endpoint URL. Covers x402 (exact, exact+Permit2, upto, aggr_deferred), MPP (charge / session), and a2a-pay paymentId flows. Any close / topup / settle / voucher / refund near a channel_id or session is an MPP mid-session op. The full bilingual trigger list (including Chinese) lives in the skill body.
Onchain OS onboarding & guide hub — the single entry for first-time, 'what is this / how do I use it', OKX.AI, and customer-support intents; classifies the intent and routes to the right sub-flow via its Intent Routing table. Covers: (1) Onchain OS onboarding + welcome banner — 'what is onchainos', 'what is onchain os', 'what can it do', 'what can onchainos do', 'what does onchainos do', 'how do I use this', 'how do I play', 'how to use onchainos', 'how to play onchainos', 'how does onchainos work', 'how do I start', 'getting started', 'tutorial', 'onboarding', 'first time', 'I just installed', 'now what', 'what do I do now', 'where do I start', 'who are you', 'what are you', 'introduce onchainos', 'tell me about onchainos', 'I'm new'; (2) OKX.AI intro & role-registration routing (the Agent economic system — roles User / ASP / Evaluator) — 'what is OKX.AI', 'OKX.AI 是什么', 'how to use OKX.AI', 'OKX.AI 快速开始', and any spelling / spacing / casing / typo variant (OKXAI, okx ai, okx-ai, lowercase okx.ai, 啥是okxai); (3) customer support / Help Center — 'contact support', 'talk to a human', 'customer service', 'file a complaint', 'give feedback', 'report a bug / system error', 'help center', 'FAQ', 'user guide', 'something is broken'. NOT for: direct on-chain actions (swap / wallet / balance / token) or Agent task lifecycle (publish / accept / deliver / dispute) — those have their own skills.
Create and manage Starknet wallets for AI agents. Transfer tokens, check balances, manage session keys, deploy accounts, and interact with smart contracts using native Account Abstraction.
Take lingxling/aomi-transact from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm, npx.
Without those the skill loads but fails at the first command.