providers.toml supplies the network routes for this process. It separates the
private fork used for simulation from the RPC endpoint used for direct network
access. The file determines where Aomi reads and sends chain data. It does not
grant signing authority, expand an App’s allowlists, or bypass simulation.
Configure EVM providers
Use[anvil-instances.<name>] for a managed fork. Use
[external.<name>] for a direct RPC connection. You can declare both for the
same chain ID. Aomi prefers the managed instance for simulation and the
external endpoint for broadcast.
The following example uses the backend’s provider schema:
providers.toml
[api-keys]resolves placeholders without putting credentials in RPC URLs. A value such as"{ALCHEMY_API_KEY}"reads the matching environment variable when Aomi starts.[runtime]sets the default refresh cadence for managed forks. Set an interval to0to disable that refresh behavior.[anvil-instances]creates isolated EVM forks. Each entry requires a unique name and a chain ID.fork_urlsupplies the upstream state.[external]registers direct RPC endpoints. These entries do not start a local fork.
--providers <path> or set PROVIDERS_TOML. Without
either option, Aomi searches for providers.toml from the current directory
upward.
Add another EVM chain
You can add an EVM-compatible network without creating a new execution path:- Find the network’s canonical chain ID and a reliable RPC endpoint.
- Add an
[anvil-instances.<name>]entry with thatchain_idandfork_url. This gives Aomi a private fork for simulation. - Add an
[external.<name>]entry with the samechain_idand a stablerpc_url. Use a different entry name. - Restart the process that loads
providers.toml. Configuration is read and validated at startup. - If the chain must appear in a browser wallet selector, add its display and wallet metadata to that client as well. Provider configuration adds runtime routing, not client presentation metadata.
Built-in client networks
The standard Aomi client includes wallet-selector metadata for the following networks. Use the listed chain ID aschain_context.chain_id from MCP or as
the transaction’s network identifier. Your active providers.toml still
determines which networks a self-hosted runtime can reach.
Mainnets
Testnets and local networks
Arc Testnet displays USDC as its native fee currency. Anvil is available for
local development but does not appear as a public hosted-network choice.
A batch can contain transactions for more than one configured chain. Each
transaction keeps its own chain ID, so Aomi routes every simulation and
broadcast independently.
Simulation on managed forks
Before you sign, Aomi runs the batch against a private copy of the current state for every affected network. The simulation does not enter a public mempool and cannot modify the source chain. Transactions execute in order. State produced by one transaction becomes available to the next transaction in the batch. For example, anapprove
followed by a swap succeeds only when the swap can use the allowance created
by the preceding approval.
Each step reports whether it succeeded, its gas use, and a decoded reason when
it reverts. A revert stops the flow before your wallet receives a signature
request.
Account abstraction
Account abstraction lets one signature authorize a batch of calls. It can also allow a sponsor to pay gas. See Account abstraction for the owner, executor, signing, and confirmation lifecycle. Aomi supports two EVM account-abstraction standards:- EIP-7702. An existing EOA delegates execution to smart-account code while retaining the same address.
- EIP-4337. A smart account executes a user operation through a bundler and remains owned by the EOA.
Typed data
Orders, permits, and off-chain approvals often use EIP-712 typed data. Aomi treats each typed-data request as a wallet action. The request includes the complete structured payload and follows the same pending approval flow as a transaction. Calling it a signature does not create a less restrictive path.Guards
An App can restrict EVM writes with per-chain guard rules. A guarded transaction must satisfy every applicable check:- Chain scope. The chain ID must belong to the App’s allowed set.
- Contract allowlist. The target address must be approved.
- Selector allowlist. The calldata selector must identify an approved function.
- Approval scope. An ERC-20
approvecall may grant allowance only to an approved spender.
Fees
Aomi can quote a service fee from the simulated gas total. The fee is appended as a separate transfer after the requested calls. Its transaction hash remains separate from the hashes produced by your action. Fee attachment currently applies to single-chain batches. A multi-chain batch does not receive an invented cross-chain fee. If Aomi cannot produce a fee quote, it does not inject a fee.Next
SVM
Configure Solana clusters and understand SVM signing, guards, and
broadcast behavior.
Transaction pipeline
Follow the build, simulate, sign, and broadcast stages across chains.