Model state machines visually. Generate ZK proofs and Solidity contracts. Every transition firing produces a cryptographic proof of valid state change.
One Petri net flows through the entire stack.
Draw places, transitions, and arcs in the visual editor. The model is a directed bipartite graph stored as JSON-LD with content-addressed identity.
Guards become arithmetic constraints. Arc weights become balance checks. Invariants become circuit assertions. Groth16 proofs from net topology.
Generate Solidity contracts from ERC templates. Each token standard is a Petri net — the same model that produced the proof produces the contract.
Start from a token standard. Customize the Petri net. Generate everything.
Transfer, approve, mint, burn — five transitions, three places, conservation law built in.
Ownership tracking, approval, safe transfer — each token ID is a unique state.
Fungible and non-fungible in one contract. Batch operations, operator approvals.
Deposit, withdraw, yield distribution — share accounting as token flow.
Petri net structure maps directly to ZK circuit constraints. Guards become arithmetic checks, arc weights become balance checks, invariants become assertions. The model is the specification.
Run a Petri net state machine where each transition firing produces a Groth16 proof. The proof attests that the state change was valid without revealing the full state. The model becomes its own audit trail.