@BenjaminHe26093 Right, it's the only path with an actual contract.
rejected_policy / amount_over_cap is something the UI can render, and CI can assert against. "Something went wrong" is neither.
If an LLM can invent a swap, it can invent a bad one.
That’s the problem.
Most crypto “AI agent” demos stop at a chat box. IntentGuard starts where those demos get dangerous: the money path.
I shipped a public Flutter × Go vertical slice where natural-language DeFi intents cannot skip the gate:
NL intent
→ untrusted planner (mock or LLM)
→ JSON Schema (legal shape)
→ policy engine (allowed money)
→ per-step human Approve
→ ABI-encode stored step JSON → Anvil tx_hash
…or a hard reject with a code + message.
No unsupervised txs. No raw model hex on the wire.
What this solves:
• Untrusted AI output on money-adjacent flows
• Prompt-only “limits” that aren’t enforceable
• Client-side checks you can walk around
• Chat demos that hide the reject path
Deep cut:
schema → is this a legal plan?
policy → is this amount / recipient / spender allowed?
human → should this step run now?
executor → only structured steps that already passed
Demo fixture that matters:
swap 150 USDC → rejected_policy / amount_over_cap
Happy path still requires sequential Approve → succeeded steps → copyable Anvil hashes.
History splits Completed vs Rejected from backend status.
Stack:
Flutter (Bloc, Dio, go_router, secure JWT)
× Go API (Postgres, planner interface, policy codes)
× Foundry mocks on Anvil
× Docker Compose
× CI evals
Local architecture demo — not mainnet, not custody, not an autonomous agent loop.
The product is the control plane.
I build production Flutter for crypto/fintech wallets. IntentGuard is open proof of how I’d put an AI planner on a money path without pretending the model is the control plane.
Repo: https://t.co/BNeiwIPoiY
Release: https://t.co/kI6nW9b5Kc
#Flutter #Web3 #Fintech #Golang #AIEngineering #SystemDesign
I’m a full-stack engineer with 7+ years of experience — Flutter, fintech/Web3, and integrating AI into real product workflows (not just demos).
Open to senior full-stack/mobile / AI-enabled product roles (remote EU-friendly).
⚠️ Connecting an AI agent to a tool is easy. Deciding what that tool is allowed to do is the real work.
Most teams treat MCP like a plugin folder: install → connect → ship.
Wrong mental model.
🔐 MCP is an authorization surface.
Before I trust a tool call:
1️⃣ Who is acting?
2️⃣ What’s the smallest scope?
3️⃣ What’s the blast radius? (read / reversible/irreversible)
4️⃣ When does policy block it?
5️⃣ What gets logged after?
💡 Capability is useful. Bounded capability is what makes it shippable.
Which question do you ask first when adding a new MCP server?
Sources: → https://t.co/ob0DEmT1HV → https://t.co/LOrh8FHv13
AI product engineers aren’t paid to pick the model.
You’re paid to design what happens after it speaks.
2026 stack:
Model proposes
→ Schema (legal shape)
→ Policy (allowed side effects)
→ Human Approve (irreversible steps)
→ Executor runs stored structured output
Not prompt engineering.
System design for a teammate with no badge access.
Gate by action risk, not model confidence.
Fail closed with codes — not “sorry.”
Evals in CI or you don’t have a product.
Public slice (Flutter × Go): IntentGuard
NL intent → schema → policy → Approve → Anvil
https://t.co/BNeiwIPW8w
I was today years old when I found out Cloudflare has a wall full of lava lamps they feed into a camera as a way to generate randomness to create cryptographic keys
We keep pointing out where Dart is lacking, but I don't see enough people talking about where Dart nailed it.
So here's a thread on why I think Dart is a big contributor to Flutter's success 👇
Vandad is one of the most valuable persons in the flutter community.
With his deep knowledge of #Flutter and Dart, you can learn a lot.
Thanks Vandad, for your upcoming new free course. It can help a lot.
I'm considering putting my #free#Flutter#course on #Coursera (for free of course as well) so those of you interested in gaining an #official#certificated can do that. Would you be interested in that? 🤙🏻 Will be available at end of Jan 2022.