The AI network · ≈ 8 min

Where AI can and cannot go

A contract may commission inference but never receive the answer in the same breath. Understanding why explains most of the AICF design.

A smart contract cannot receive a model's answer. Not on Animica, not anywhere.

Consensus requires that every node re-executing your transaction reaches the *same* result. A model on shared hardware does not: different node, different sampling, different answer, no agreement, no block. That is why the contract VM forbids network access at the language level — it is not a missing feature, it is the property that makes the chain a chain.

**But a contract can *commission* one. The VM's syscalls module offers ai_enqueue(model, prompt), which does not run a model — it returns a deterministic task id**, identical on every node that re-executes the transaction. The request is on-chain; the answer arrives later, off-chain, in a transaction your contract can verify.

That distinction — commissioning is deterministic, answering is not — is the whole design. One caveat that matters before you build on it: the provider that would actually perform the work is not wired up yet, so today the call returns a valid receipt and nothing runs. The lesson covers exactly what does and does not work. Try it in a real contract →

So inference happens off-chain, and the chain handles what it is good at:

  • An off-chain worker runs the model.
  • The result — or a commitment to it — is submitted in a transaction.
  • The contract verifies whatever is verifiable: a signature, a hash, a proof, a quorum of independent workers agreeing.

This is what Animica's AICF layer is for, and why the chain's RPC has an aicf.* namespace (submitInferenceJob, jobStatus, estimateJobCost, listProviders, and others) rather than an ai.* one you could call from a contract.

The honest framing when you design with this: the chain cannot know the answer is correct. It can know who asserted it, that they staked something, that N independent parties agreed, or that the output matches a commitment made before the input was revealed. Pick the guarantee you actually need — "an AI said so, on-chain" is not one of them.

Stuck? Ask

Answered by Animica's own free inference network. It is donated GPU capacity, so give it 20-30 seconds.