Tech Stack

Cairo - a Turing-Complete Programming Language

In order to prove the validity of a computation in a STARK proof, it must be expressed in algebraic form. Cairo is a CPU architecture, designed to allow both the convenient program representation using the Cairo-Assembly and the efficient proving of execution for such programs using a designated algebraic representation for the Cairo-Architecture. Cairo makes it easy to develop, test, and maintain by decoupling the algebra from the business logic.

StarkWare defines the Cairo-Architecture and implements it both as a native VM, and as a proving-optimized algebraic form. StarkWare develops additional developer tools around the Cairo programming language, such as compiler from higher-level languages, debugger, IDE support, and more.

The Cairo toolchain is developed in Python for great flexibility and readability. The Prover is optimized for performance by implementing  C++ and some low-level assembly. The Verifier is implemented in Solidity, allowing proofs to be verified on the Ethereum blockchain.

Explore Cairo

StarkNet: A Decentralized ZK-Rollup

StarkNet is a permissionless decentralized ZK-Rollup operating as an L2 network over Ethereum. This enables any dApp to achieve unlimited scale for its computation while leveraging Ethereum’s security. Developers can write Starknet contracts and deploy them on the network, and users can send transactions to these contracts (in a similar manner to how this is done on Ethereum).

The StarkNet node (called sequencer) is implemented in Python. The StarkNet transaction execution environment, called StarkNet OS (similar to the Ethereum Virtual Machine), is implemented in Cairo. This optimizes the proving performance of each transaction execution. A Solidity contract deployed on Ethereum connects the StarkNet network (L2) to Ethereum (L1).


StarkEx: Managed Services

StarkWare provides custom services for premium customers. Such services do the heavy lifting of communicating with the ledger and the Application smart contract (over StarkNet or Ethereum), to apply off-chain logic as required, and expose an application-specific API, allowing the customers to focus on their core competence.

See more about how our managed services are built.

The off-chain services are implemented in Python and typically implement a micro-services architecture. The Application smart contract is implemented in Cairo and deployed over a StarkNet network, public or private.