Skip to main content
Aomi is non-custodial: it never holds your private keys or funds. You stay in full control of your wallet at all times. Every transaction is simulated on a forked network before it reaches your wallet, so you review the exact onchain outcome before approving.

How signing works

Wallet connection and account management run through Para. Signing still happens locally in your connected wallet through wagmi-compatible connectors. Aomi constructs and proposes transactions; your wallet signs them. The private key never leaves your device.

Simulation: the safety guardrail

Before any transaction reaches your wallet, Aomi simulates it on a forked network. This is a deliberate guardrail for AI-generated transactions: the model cannot send anything to your wallet without first passing through simulation. It runs in four steps:
  1. Aomi forks the current network state with Anvil.
  2. The transaction runs against the fork, not the real chain.
  3. The exact outcome is captured: token balance changes, gas cost, and every contract call.
  4. The result is shown to you before you are asked to sign.
So before your wallet prompt appears you see the tokens sent and received, the gas estimate, the contracts involved, and your net balance change. The simulation itself costs no gas and changes nothing on the real network, and a batch of transactions can be simulated together. This matters because LLMs can generate incorrect transaction parameters. Simulation catches wrong amounts, unexpected contract calls, and reverts before they become irreversible onchain. You always have the final say. For the technical pipeline, see the Simulation Reference.

Authorized and agentic signing

Aomi supports authorized signing, so an agent can act for a user within the limits the App sets. The wallet still signs locally and the simulate step still runs first. The non-custodial guarantee does not change: Aomi never holds keys.

Supported chains

Simulation and transaction execution are supported on Ethereum Mainnet, Base, Arbitrum One, and the major testnets such as Sepolia. You choose which chains your frontend exposes when you configure the wallet providers below.

Wallet setup

Aomi widgets use the Para plus wagmi provider tree. If you installed the widget through npx shadcn add https://aomi.dev/r/aomi-frame.json, the wallet UI is already included. Use this setup when you want to wire Para-based auth and external wallets in your own host app.
To switch networks programmatically, call wagmi’s useSwitchChain. The widget’s auth bridge syncs the change to the Aomi runtime automatically; you can also set it manually with setUser({ chainId }) from @aomi-labs/react.

Wire it into your app

The setup above is the wallet layer. The pieces that consume it, the connect button, the transaction and EIP-712 request handler, and the wallet utilities, live in the frontend guides:

Widget installation

Drop in <AomiFrame /> with the wallet UI and the ConnectButton already wired.

Headless library

Handle transaction and EIP-712 requests, and use the wallet utilities, in a fully custom interface.

Next Steps

Last modified on July 2, 2026