The Embedded Engine
iCommerce is the engine inside the agent. You don’t call it over a network; you compile it into your runtime. The analogy is SQLite. Postgres is a server you connect to. SQLite is a library you embed — and that single difference changes latency, offline behaviour, and how you reason about failure. iCommerce is that, for commerce.What “embedded” buys you
For an agent doing dozens of reads to decide one action, in-process calls are the difference
between a coherent turn and a timeout.
Start
A complete flow
Storage
The API is identical across all three, so you can develop against
:memory: and deploy against
Postgres without changing call sites.
Two domains historically reported
isSupported() == true on SQLite while every call failed — that
gap is closed, but it’s worth calling isSupported() rather than assuming parity when you’re
relying on a less common domain.Determinism and explicit write intent
Operations are deterministic, and writes require explicit intent rather than being inferred. That’s what makes an agent holding the engine safe to reason about: a read cannot mutate, and a mutation is a decision someone made. See the CLI safety model for the same principle at the command line.Money is never a float
0.1 + 0.2 !== 0.3 in binary floating
point, and a commerce engine that sells exact settlement cannot afford that drift.
When to embed
Related
- Quickstart
- Architecture
- Bindings — 11 languages, and their caveats
- MCP Server — 719 tools over this engine