01 · Execution Kit

Turn agent decisions into verified Arc execution.

Aomi turns an exact wallet request into a paid, simulated artifact. Circle separately authorizes the request, the service payment, and final execution.

Runtime
Staging verified
Hosted route
Being routed
Network
Arc Testnet proven
Production
Rollout pending
01

Use this when

You already own the intelligence.

Your system ownsThe decision, product policy, and exact ordered contract calls.
Aomi ownsIndependent simulation, the request-bound artifact, quote recovery, and attestation.
Circle ownsWallet authority and three separate signatures: Task, Gateway payment, and final execution.
Your verifier ownsByte equality and Arc receipt/event checks before product state changes.
02

Copy the integration

Integrate against the tested contract.

INSTALL · IMMUTABLE HTTPS SOURCE
npm install https://github.com/aomi-labs/arc-canteen/archive/ab1e44dc8093f0edee104de327e91da43000c09b.tar.gz
SERVER-SIDE NODE · SMART ACCOUNT FLOW
// server/execution.ts
import { readFile } from "node:fs/promises";
import { TaskClient, parseSmartAccountArtifact } from "arc-canteen/task-client";
import { CircleArcWallet } from "arc-canteen/circle-arc-wallet";

const wallet = new CircleArcWallet({ walletAddress: circleWallet });
const payer = await wallet.gatewayPayer();
const calls = planCalls(decision); // exact ordered { to, data, value }[]

const request = {
  executionKind: "smart_account_calls",
  intent: decision.summary,
  chainId: 5042002,
  sender: wallet.walletAddress,
  payer,
  calls,
  constraints: decision.constraints,
};

const client = new TaskClient({
  endpoint: process.env.AOMI_TASK_ENDPOINT!,
  recipient: process.env.AOMI_TASK_SELLER!,
  trustedJwks: JSON.parse(await readFile("./trusted-aomi-jwks.json", "utf8")),
  maxFeeMicrousd: 1_100_000n,
  stateDirectory: "/private/task-state",
  payer,
  signTypedData: (data) => wallet.signTypedData(data, showReview),
});

// Signature 1: authorize only this exact Task request.
const quote = await client.prepare(request);

// Signature 2: pay for the immutable simulated artifact.
const purchased = await client.purchase(request);
if (purchased.status === "pending") return reconcileLater();

const artifact = parseSmartAccountArtifact(purchased.bytes, request, quote);
assertExactCalls(artifact.calls, calls);

// Signature 3: Circle executes the exact verified calls on Arc.
for (const call of artifact.calls) {
  const submitted = await wallet.executeContractCall(call, showReview);
  await verifyArcReceipt(submitted);
}

Provisioning: ask Aomi for the routed staging endpoint, seller address, and trusted attestation JWKS. The signature-only runtime and smart_account_calls flow are verified on Arc Testnet; the canonical builder route and production Task rollout are still being completed. Final wallet execution always stays with the builder.

03

Trace the request

From agent intent to verified Arc receipt.

Execution Kit sequence diagramYour agent obtains separate Circle Wallet signatures for Task authorization, Gateway payment, and final Arc execution. Aomi simulates exact calls and returns an immutable artifact.Your agentCircle walletAomi Task APIAomi runtimeGatewayArcYour app01Sign exact Task request02Request + EIP-712 authorization03Simulate exact ordered calls04Attested 402 quote05Sign Gateway payment06Submit separate payment07Immutable artifact08Sign exact execution09Submit verified calls10Receipt + contract events

Control boundary: signing the Task grants no spending or execution authority. Aomi simulates the inner calls; Circle Wallet separately signs payment and execution. Your app marks completion only after the Arc receipt and expected events independently verify.

04

Implementation reference

Five gates before completion.

01
Authorize the exact Task

Sign the canonical request with short-lived EIP-712 authorization. No login, session, API key, or bearer.

Signature 1
02
Verify the 402 quote

Check the attestation, request and payload hashes, identities, chain, fee cap, and Gateway requirement.

Fail closed
03
Purchase the artifact

Sign the separate Gateway payment; durable idempotency makes retries recover the same purchase.

Signature 2
04
Compare exact call bytes

Require the artifact’s ordered targets, calldata, and values to equal the application plan.

Before execution
05
Execute and verify

Circle signs the final calls. Mark complete only after the Arc receipt and expected contract events verify.

Signature 3