Grain glass mark
The 3D verification layer · run it in 60 seconds

Prove the agent got what it paid for.

Grain is the deterministic verification engine for 3D — it grades any asset, from any tool or generator, against a machine-checkable spec, signs a verdict an agent can act on, and tells you exactly what's wrong. It runs where you work: in Blender, in any agent (MCP), in a Mind. And in the agent economy the same signed verdict settles on any chain — proven across BNB Chain, Base, and Solana — releasing on a pass or refunding on a fail, no human, inside a hard custody boundary.

Run it freenpm run grade, no keys Settles on testnet — BNB Chain · Base · Solana, one verdict BNB ChainBaseSolana Built on Minds by Animoca Brands Minds by Animoca Brands
grain · grade — a fresh clone, no keys
$ npm run grade grain · grade ~/.grain/hero/grain_hero.glb asset 10,586 KB · sha256 12f7a0bf… mesh 38,020 tris · 20,863 verts profile sample-game-prop@1 (all) ✗ File size 10,840,168 vs ≤ 8,388,608 ✓ Manifold watertight ✓ Texture budget 3 tex · ≤ 2048px ✓ Triangle budget 38,020 ≤ 50,000 ✓ UV coordinates present ✓ Valid GLB 0 errors FAIL digest e132ee42… · signed verdict, ready to settle

Real npm run grade output — the bundled hero mesh vs the public sample profile. It passes geometry, UVs, textures & validity and fails the prop file-budget: the grader discriminates, it doesn't rubber-stamp.

01 Why this is urgent — and real

The AI-asset flood already broke the marketplaces.

0
AI-generated assets one seller pushed onto Epic's Fab marketplace in a short window.
Epic Fab marketplace
0
top-1 accuracy on Grain's semantic check.
honest-v0 benchmark, N=5
0
testnet chains settle the same signed verdict — BNB Chain + Base Sepolia + Solana devnet, zero human approvals.
BNB ChainBaseSolana
0
deterministic checks gate every payout (+1 opt-in semantic check).
02 What Grain is

A machine-checkable acceptance spec for 3D — that travels across every tool.

Not "a 3D checker." The verification engine for 3D: check any asset against an objective spec — in the tool you already use — sign the verdict, and, in the agent economy, settle on it. Verification is the wedge; settlement is the expansion.

PILLAR I

Verify

A deterministic floor for any asset, any source — triangle budget, watertight/manifold, valid-GLB, UVs present, texture & file-size budgets, named editable params (Khronos-profile-based) — plus a benchmarked semantic layer that catches "you delivered a chair when a barrel was ordered," and one-click Conform that fixes it.

7 deterministic checksglTF-ValidatorCLIP · benchmarked
PILLAR II

Settle

The agent-economy layer: the signed verdict gates payment. The same canonical verdict is chain-agnostic — it settles unchanged on three testnet chains: BNB Chain and Base Sepolia (EVM, EIP-191) and a Solana devnet program (ed25519) — releasing to the seller on a pass, refunding the buyer on a fail, no human, inside a hard custody boundary the releasing key can never pay itself.

BNB · Base Sepolia · Solana devnetEIP-191 / ed25519custody boundary
BNB ChainBaseSolana
PILLAR III

Provenance

An on-chain receipt at settlement — creator, asset hash, verdict — so verified work is ownable and creators keep a royalty trail. Verification is the precondition for trustworthy creative commerce.

on-chain receiptroyalty trailcreators own IP
03 How it works

Three Minds in one Circle. One autonomous loop.

A Requester states intent and budget, a Generator delivers, a Grader verifies and signs — and the escrow settles on the verdict.

Requester Mind
STEP 1

Request

The Requester Mind states intent + budget + an acceptance profile — the runnable public sample-game-prop@1, or a buyer's own (the tuned thresholds are the moat).

Generator Mind
STEP 2

Generate

The Generator Mind delivers a candidate GLB — from any generator (Rodin, Meshy, Tripo…) or a human author. Generation is commodity; Grain is generation-agnostic.

RodinMeshyTripo
Grader Mind
STEP 3

Grade

The Grader Mind runs the deterministic predicates + the semantic check and signs a pass/fail verdict.

Verified asset
STEP 4

Settle

An escrow verifies the signature on-chain — on BNB Chain, Base Sepolia, or Solana devnetreleasing to the seller on pass, refunding the buyer on fail.

See verified releases on BscScan ↗
BNB ChainBaseSolana

On a fail, the loop regenerates within budget and re-grades — automatically, until it passes or the budget is spent. No human in the loop.

Beyond the linear loop, a Mind-supervised swarm of role companions (3D Artist · Technical Artist · Programmer) each verify + settle their slice, and the asset only enters the scene behind a causal hash gate. See the live demo →

04 In the loop

Equip Grain where you already work.

One engine, in the loop wherever 3D work happens — a Blender add-on, an MCP server any agent can call, and a Minds Skill. The checks are open; the moat is the acceptance profiles that travel across every tool — and the data of what real buyers actually accept.

SURFACE · the artist's loop

Grain for Blender

A "Grade with Grain" sidebar: grade the selection against a profile, highlight non-manifold geometry, and one-click Conform → re-grade green — without leaving Blender.

builtGrade · Conformin-tool panel
SURFACE · the agent's loop

grain-mcp

An MCP server exposing grade_asset · conform · settle · list_profiles to Cursor, Claude Code, and any agent — with a signed, agent-callable verdict the loop can hand straight to settlement.

builtCursor · Claude Codesigned verdict
SURFACE · the Mind's loop

Grader Bazaar Skill

The same engine over HTTP_Execute — equip it on a Mind to grade a delivered asset and gate settlement. Published + independently verified on both the hellominds and ethoswarm bazaars.

live · both bazaarsHTTP_Executesettles on 3 chains

Plus an original, credited methodology Skill family that feeds the kernel — not scraped content: Acceptance-Profile Designer (author the spec) → Game-Ready Prop Authoring (author a passing asset) → the Grader (verify & sign). Design → author → verify → settle.

Skill

Grain 3D Conformance Grader

Equip it on a Mind; give it a GLB + a profile; get a signed pass/fail with per-predicate evidence — and gate settlement.

⬡ live · both bazaarsGet the Skill →
Skill · methodology

Acceptance-Profile Designer

Author a defensible acceptance profile from real rejection data — the kernel's input. Original, credited methodology; the shape is public, the numbers are the moat.

original · creditedRead the playbook →
Skill · methodology

Game-Ready Prop Authoring

Generation-agnostic methodology that produces an asset which passes a profile — each step targets a grader predicate. Original, credited.

original · creditedRead the playbook →
Tool

grade_asset

Parse once, run tri_count · manifold · valid_glb · uv_present · texture_size · file_size · named_params, compose pass/fail, sign the verdict.

7 deterministic checksView schema →
Tool

generate_asset

Thin generation: any generator → GLB, then attach Grain's declared editable params so the spec is meaningful.

composableView schema →
Tool

settle

Submit the signed verdict to escrow on BNB Chain / Base Sepolia (EIP-191) or a Solana devnet program (ed25519) — release to seller (pass) or refund buyer (fail). One verdict, any chain.

BNB ChainBaseSolana
BNB · Base · Solana · testnetView schema →
Profile · runnable

sample-game-prop@1

The public sample bar — generic industry ballparks (tris, UVs, textures, file size). npm run grade runs it on a fresh clone, no keys. Edit it, or bring your own.

runs · no keysSee the shape →
Profile · private

game-ready-prop@1

A buyer's tuned acceptance bar — the public shape is open; the exact thresholds are the moat (gitignored / Grader-Mind memory, never shipped).

the moatSee the shape →
Tool

conform

One call repairs a GLB to watertight + on-budget (drop tangents · weld · simplify · attach params) — then re-grade to confirm the pass.

builtView schema →
05 Why us

Nobody welds verification to settlement.

Validators check files but don't move money. Payment rails move money but never check the deliverable. Provenance layers attest origin, not fitness. Grain is the weld.

Validators

glTF-Validator · SimReady · RapidPipeline
glTFKhronosNVIDIA SimReadyRapidPipeline
Verify the asset against a spec
Settle a payment on the result
Agent-equippable, autonomous

Payment rails

x402 · Google AP2 · Stripe
x402Google AP2GoogleStripe
Settle agent-to-agent payments
Verify the deliverable is correct
Refund automatically on a bad asset

Grain

verify + settle + provenance
BNB ChainBaseSolana
Machine-checkable acceptance spec
Settlement conditioned on the signed verdict
One verdict settles on multiple chains (BNB · Base · Solana)
Open, runnable engine — bring your own bar
Autonomous, agent-equippable, custody-bounded
06 The custody boundary

The grader signs the verdict. It can route money to the buyer or the seller — never to itself.

Verdict authority and custody are different powers, held by different code paths. The escrow has no owner, no setter, no withdraw. Even a fully compromised grader key can only mis-grade — pay the wrong one of two pre-agreed parties — never exfiltrate. The same property holds on both rails — the EVM escrow and the Solana program — so a new chain is just a new adapter, not a re-architecture.

Ethereum / EVMSolana
grader signing key can
✓ sign a pass → release to recorded seller
✓ sign a fail → refund recorded buyer
grader signing key cannot
✗ pay itself or any address it names
✗ withdraw, sweep, or change recipients
✗ move funds without a valid verdict
07 Proof, not vibes

The semantic check is benchmarked, not asserted.

A deterministic floor settles money; a benchmarked semantic layer adds "is it the right thing?" We measured it as a verifier — confusion matrix, threshold sweep, calibrated boundary.

100%
top-1 identity accuracy on real generated assets
89 pts
mean confidence margin (true vs. best wrong label)
T ≈ 0.6
calibrated threshold (max-F1, 100% precision + recall)
7 + 1
deterministic predicates + an opt-in semantic gate

Honest v0 (N=5, visually-distinct categories) — proves the method + the deterministic floor, not the hard cases. Next: ~30+ assets incl. confusable pairs, published as an open verification benchmark.

08 FAQ

Questions a builder would ask.

Can I run it myself — do I need keys? +

Yes, and no keys. On a fresh clone, npm run grade grades the bundled hero mesh against the public sample profile sample-game-prop@1 and prints a real per-predicate verdict — with zero keys. Keys are only needed to sign a verdict and to settle on-chain. The verification is the part you can check yourself.

Do I have to use your acceptance thresholds? +

No — bring your own. Pass any AcceptanceProfile / GradePlan JSON via the CLI --profile flag, or inline in the HTTP /grade body (no registration). Our tuned thresholds are never required to run the grader; they're the moat, gitignored.

What does the grader actually check? +

A deterministic floor of seven checks — triangle budget, watertight/manifold, valid GLB, UVs present, texture-size budget, file-size budget, and named editable parameters — plus an opt-in semantic (render + CLIP) gate that confirms it's the right asset. Every settling check is reproducible code; same asset + profile ⇒ same verdict and the same predicateDigest.

Which chain does settlement run on? +

Testnet only, on three chains across two rails: BNB Chain and Base Sepolia (EVM, EIP-191) and a Solana devnet program (ed25519). The same canonical signed verdict settles on any of them — verification produces one verdict, settlement is pluggable per chain. No mainnet.

Where can I actually use Grain? +

Three real surfaces over one engine: grain-mcp (any agent — Cursor, Claude Code), a "Grade with Grain" Blender add-on (the artist's loop), and a Minds Grader Skill (the Mind's loop, live on both bazaars) — plus two original, credited methodology Skills that design the profile and author a passing asset.

Is it just a linear request → grade → settle loop? +

No. A Mind-supervised swarm of role companions (3D Artist, Technical Artist, Programmer) each verify + settle their slice, and the verified asset only enters the scene behind a causal hash gate — runnable in-browser. See the demo → A Godot grounding demo even loads the same GLB into a real engine only if the verdict passes and the bytes' hash matches.

What stops a compromised grader from stealing funds? +

The contract. The grader key's only power is one binary verdict on a pre-funded order; release and refund go only to the buyer or seller recorded at funding. No owner, setter, or withdraw. A compromised key can mis-grade, never exfiltrate — and the property holds on both the EVM escrow and the Solana program.

Isn't a 3D validator commodity? Where's the moat? +

The predicate code is commodity — and open. The defensible asset is the acceptance-profile data: what real buyers (TADs, QA leads, marketplace inspectors) actually accept. Accumulated from real rejection data, not scrapeable, and mapped to willingness-to-pay. And 3D is just the wedge — the substrate (escrow, custody boundary, signed verdict, profiles, Skill) is vertical-agnostic.

If everyone vibe-codes from AI, doesn't verification homogenize the art out of games? +

No — that fear is backwards. What flattens games into formulaic, borrowed-from-the-past output isn't a check; it's the conformance grind — the triangle budget, the manifold, the valid GLB, the re-export, the QA pass — eating the hours that should go to art. Grain is not a taste engine, an art judge, or a generator: it grades only the commodity floor and signs a verdict that's identical no matter how distinctive the work is. It never rules on whether a thing is beautiful, original, or good. The spec is the floor, not the ceiling — Grain clears the grind so the artistry has room.

The verification layer the agent economy needs

Trust, then settle.

Grain turns creative intent into verified, settled, owned work — constrained, user-aligned autonomy for agentic commerce.

Grain runs on public testnets today — no mainnet, no real funds. Figures are honest-v0 measurements with stated limits. This page describes a working demo and an in-progress product, not financial advice. Built on Minds by Animoca Brands (beta).