AOMI REST APIs

Onchain execution, as a REST API.

Add swaps, yield, transfers, and settlement to an existing product with one JSON API. Aomi plans, fork-simulates, and policy-checks every transaction; the customer's wallet signs. No custody, no new signing stack.

REST + JSON · OAuth 2.1 or guest · EVM + Solana · keys stay with your signer

Contractv1 · additive-only
IdempotencyEvery mutating call
NetworksEVM + Solana
Keys held by AomiZero

TWO PORTS, ONE KERNEL

Choose who plans.

Both APIs end at the same execution boundary. The difference is whether Aomi resolves a customer's intent or the platform submits the exact action its own systems selected.

V1 CONTRACT

01 · AOMI RESOLVES THE INTENT

Agent API

Send a user's intent and wallet capabilities. Receive messages, activity, and a durable action that can be approved by the signer already inside your product.

POST /v1/agent/chatGET /v1/agent/chat/{session}POST .../actions/{action}/result
BEST FORWallets, neobanks, and conversational products

IN PRODUCTIONSommelier's liquidity assistant runs on this path.

PREVIEW

02 · YOUR SYSTEM SELECTS THE ACTION

Pipeline API

Select a catalog action or assemble a batch directly. Receive a Plan containing the simulation verdict, typed guard checks, and unsigned signable—with no Aomi inference or chat session.

POST /v1/pipeline/evm/buildPOST /v1/pipeline/svm/buildPOST .../{stage,simulate,commit}
BEST FORTrading platforms, treasuries, and existing order flow

IN PRODUCTIONWorld Markets' Telegram trading agent keeps its own strategy and submits through this path.

THE SHARED CONTRACT

Both APIs resolve to the same Action.

Agent chat and pipeline builds resolve into the same durable, sealed approval object. One confirmation UI, one wallet binding, both APIs—move between them without rebuilding either.

  • Kernel-authored summary
  • EVM and SVM execution envelopes
  • Deferred and multisig-aware lifecycle
one ConfirmSheet · every source
one call · chatraw http · the call that produced the Action
POST /v1/agent/chatAuthorization: Bearer $AOMI_TOKENIdempotency-Key: 7c1e… { "message": "Swap 0.5 ETH to USDC on Base",  "app": "aomi",  "wallets": { "evm": { "address": "0xAb5…", "chainId": 8453 } } }
action.summarytyped · sealed by the kernel
interface ActionSummary {  title: string  steps: Step[]        // what happens, in order  cost: Cost           // gas payer, fees, all-in  warnings: Warning[]  // empty = clean  expiresAt: string | null} interface Step {  label: string  detail?: string  asset?: {            // present when value moves    direction: 'out' | 'in'    amount: string    // human units, always    symbol: string    usd?: string  }}

filled by this exampletitlestepscostwarningsexpiresAt

event.action.summary// from a chat turn

Swap 0.5 ETH for ~1,240 USDC

Wrap 0.5 ETH−0.5 ETH
Swap via Uniswap v3Simulated · guards passed+1,240.18 USDC
Gas: you pay ~$1.20⚠ Price impact 2.3%
RejectApprove

rendered entirely from the type · the renderer maps over steps

A single swap, an ordered batch, a transfer waiting on a Safe quorum: the renderer never branches. Ship one confirm sheet and it covers everything either API will ever produce.

TWO APIS · ONE TRANSACTION PIPELINE

More control. The same execution lifecycle.

The Agent API accepts customer intent and lets Aomi plan. The Pipeline API accepts the exact action or batch your own agent, strategy, or product selected. Both resolve to the same Action contract and cross the same simulation, policy, signer, and verification boundary.

AGENT API · AOMI PLANS

Send intent.

Aomi runs the agent loop, selects tools, and turns the conversation into a durable Action.

message + wallet capabilities
PIPELINE API · YOU PLAN

Send the action.

Keep your own model, strategy, and routing logic. Submit one catalog action or an ordered batch directly.

ActionSpec | ActionSpec[]
Both surfaces resolve to the same sealed ActionOne confirmation UI · one wallet binding · one evidence trail
  1. 01

    Plan

    Resolve the customer's intent or accept the exact action and batch the integrator selected.

    Actions survive the turnThe resulting Action is durable and recoverable across clients.
  2. 02

    Simulate

    Run the complete batch against a fork before anything reaches a signer.

    Simulated before sealedThe verdict and ordered balance changes travel with the Action.
  3. 03

    Guard

    Enforce chain, signer, ordering, slippage, and application policy.

    Errors fail closedTyped failures explain the next step without widening authority.
  4. 04

    Sign

    Return a sealed Action to the wallet adapter the product already trusts.

    We never hold keysThe integrator's signer remains the authority for every signature.
  5. 05

    Verify

    Observe the transaction and check it against the sealed Action before resuming.

    A hash is not proofSigner, chain, calldata, ordering, and fee legs are checked onchain.
ACROSS THE WHOLE LIFECYCLEExactly-once resume

Idempotent results and ordered state transitions make retries safe without duplicate execution or double-resuming a thread.

INSIDE THE HARNESS

An API-exposed transaction pipeline, on a harness that mutates world state.

Fundamentally, every harness that takes actions is mutating the state of the world its agent lives in — whether that world is a codebase, a file system, or a financial ledger. Aomi exposes that loop as an API: a typed action over a mutable world, judged by the world's end-state. Onchain, the world diverges at five points — a typed, gated action space, simulation as the only rehearsal, no unilateral write authority, irreversibility, and a shared, adversarial world.

Diagram comparing a coding harness loop with the Aomi harness loop. Both run intent, read, stage, verify, commit, and verify-result steps; the Aomi side marks five divergences: a typed gated tool surface, dry-run simulation as the only safe rehearsal, no harness write authority, irreversibility, and a shared adversarial world.
From AomiBench: benchmarking frontier models on onchain execution

INTEGRATION CHECKLIST

The questions engineering asks first.

Answers from the v1 reference, in the order an integration review reaches them.

Authentication
OAuth 2.1 access tokens (PKCE, device code, or SIWE/SIWS). Guest capability lane for attended signing, claimable into an account later.
Fail closed
A present-but-invalid credential is always 401; it never downgrades to guest. Missing scope is 403.
Idempotency
Idempotency-Key on every mutating call. Same key + same body returns the recorded response; a different body is 409.
Concurrency
One turn per session. A second request during an active turn returns 409 busy with the live cursor.
Custody models
Browser and embedded wallets sign in-band. Safe, Turnkey, and policy custody return deferred; the action waits for quorum.
Verification
A reported hash enters submitted_unverified. A watcher checks signer, chain, calldata, ordering, and fee legs before confirmed.
Recovery
Unresolved actions appear in every delta regardless of cursor. Refresh, crash, or second device—nothing is lost.
Errors
Typed JSON errors with a retryable flag: invalid_auth, insufficient_scope, quota_exhausted, action_superseded, transaction_mismatch…

BUILD ON THE KERNEL

Start with intent. Drop down to precision when you need it.

Integrating into an existing product? Start here. Want Aomi to host the agent and the customer-facing surface too? See the Human Interface and Plugin SDK—same Action, same signer, no rebuild when you move between them.