Sector examplesFinance and banking

Demo Bank

A banking assistant that answers from the customer's real accounts and moves money only with their approval.

Demo Bank: Spending insights as a chart (desktop screenshot)

The problem it solves

Banks want an assistant that can act, not just chat, without giving up control: it must only touch the signed-in customer's accounts, respect limits, never move money twice, ask before anything irreversible, and leave an audit trail that shows if anyone edited it.

  • Transfers and card freezes pause until the customer approves them in the conversation
  • Guardrails refuse over-limit transfers and other customers' accounts before anyone is asked
  • Every action lands in a hash-chained audit log that detects tampering

Run it on your computer

git clone https://github.com/karawash-projects/amoxi.gitcd amoxinpm installnpm run buildnpm run dev -w banking-assistant

Then open http://localhost:8081. The tests run with npm test -w banking-assistant.

Read the source and README on GitHub

Amoxi features in this example

FeatureWhy it matters here
Tools with approvalMoney-moving tools need the customer's confirmation; nothing runs before it, and a declined action is reported back to the agent.
Guardrails and principalsThe agent acts as the signed-in customer only; beforeToolCall refuses limits and foreign accounts as a second line of defence.
Idempotent steps (ctx.step)A transfer interrupted by a restart is never posted twice.
Generative UIBalances, transactions, a spending chart and transfer receipts appear as components, not walls of text.
Knowledge base (RAG)Fee and policy questions are answered from the bank's own documents.
Interceptors and audit hooksEvery call to the transfer service and every run is recorded in a tamper-evident log.
MCP, read-onlyOnly the public exchange-rate quote is offered to outside AI agents; customer tools stay private.