calendar_today
August 6, 2025
|
schedule
4
min read
AI (still) can’t write a good Smart Contract
Blockchain Infrastructure
Backend
Blockchain Integration
Smart Contracts

We’ve tested the models. We’ve asked GPT-4o to write Sui contracts from scratch, audit legacy Solidity code, generate indexing pipelines, and scaffold GraphQL queries against Sui RPC.

Sometimes it helps. Sometimes it gets close.

- But it still misses the one thing Web3 devs can’t afford to miss: irreversible consequences.

Web3 isn’t just code. It’s execution encoded into permanence. A bad guess from a model doesn’t crash a serverm it locks funds, breaks consensus, or bricks upgrade paths. There is no rollback. No second push. And the further you go down the stack from frontend wiring to protocol designm the less useful current AI tools become.

This isn’t a knock on AI. It’s a reflection of how different Web3 really is.

1. Web3 isn’t a dev stack

In Web2, if something breaks, you patch it. You roll back. In Web3, you deploy to a battlefield where every bug becomes an exploit vector and every inefficiency gets gamed. Contracts aren’t just logic, they’re incentives. Scarcity. Governance. Asset flows.

That makes smart contract dev closer to protocol game theory than app engineering. And while AI can write syntactically correct code, it has no intuition for adversarial intent. We’ve seen GPT recommend insecure fee logic, assume trust in untrusted actors, and forget the difference between view-only vs state-changing functions.

2. Smart contract dev isn’t generalizable

AI thrives on repeat patterns. But the best smart contracts aren’t generic: they’re deeply specific.

Built around tokenomics, governance, asset flows, protocol constraints, and cross-chain design. Move, for example, enforces ownership and linearity that throws off most LLMs.

If you treat Sui like EVM, you’ll break something. We did, early on. Until we rewired our backend instincts to think like the chain: capability-based access, object-centric state, indexed reads through GraphQL RPC, and immutable deployment logic that feels more like writing a database schema than app code.

None of that exists in AI's pretraining. It only gets learned by building.

3. Most real decisions aren’t about code, they’re about consequences

Should a refund live on-chain? Who should have mint access? How do you rotate a shared object when its type changes? These aren’t syntax problems. They’re judgment calls. And AI doesn’t carry the weight of its mistakes.

We’ve deployed to mainnet. We’ve watched real users interact with flows that seemed perfect in devnet and failed under load. We’ve seen what happens when your indexing isn’t robust enough, or your write paths don’t align with your read assumptions.

GPT can’t learn that from GitHub.

4. What AI gets wrong, builders feel first

There’s no StackOverflow for Move. No 5-year archive of best practices for Sui. When we built sui-events-indexer, we weren’t following a pattern, we were solving a pain. And that pain is where real tooling comes from.

Web3 teams aren’t just writing code. They’re inventing frameworks for things no one’s solved yet.

The deeper we go (Axelar’s GMP stack, MultiversX ESDTs, Sui’s composable object graphs) the more we realize: the hard part isn’t writing. It’s knowing what should be written.

AI is incredible at assisting developers. At scaffolding tests. At generating boilerplate and explaining documentation. But when it comes to encoding permanence, incentives, and logic into unstoppable systems, it still needs a human hand.

That’s where teams like ours come in. We’ve built production systems on Sui, EVM, MultiversX. We’ve deployed contracts, handled real users, shipped through real failures. And we keep adapting.

If you’re looking for a team that understands how to build on-chain, and why it still matters that real people do it, we’re here.

Placeholder

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.