The technical content top engineers rely on to level up.
Full-length tutorials on the most in-demand skills in Web3.

This is the most programmer-friendly zero knowledge proof tutorial available.

The Uniswap V2 Book is a comprehensive and in-depth explanation of the codebase. We don’t just screenshot the code and walk you through line by line. Hopefully you can already read code! We motivate why it was written that way in the first place, what the possible alternatives are, and the motivation behind the decisions.

Compound Finance is the most forked DeFi lending protocol. By learning the Compound Finance codebase and tokenomics in depth, you will be able to understand dozens of other lending protocols and be able to navigate their codebases more efficiently.

Uniswap V3 innovated the concept of concentrated liquidity. Concentrated liquidity allows traders to get better trade executions and enables liquidity providers to earn higher fees relative to a traditional xy = k AMM. As such, Uniswap V3 turned concentrated liquidity into a very popular DeFi primitive.

The most comprehensive guide to smart contract upgradeability.
This Solana course is designed for engineers with a beginner or intermediate background in Ethereum or EVM development to get up to speed quickly with Solana program development.
A concise, developer-friendly tutorial series that helps Solidity and other experienced programmers quickly learn Cairo and build smart contracts on Starknet, no prior ZK knowledge required.
A high quality, in depth Solidity course for experienced developers, free, comprehensive, and trusted by smart contract security experts.
This course helps engineers with an Ethereum background quickly grasp smart contract development on the Internet Computer Protocol (ICP). Our goal is to streamline your journey towards learning how to program ICP smart contracts and utilize ICP’s Chain Fusion Technology

17 min read
Quadratic Arithmetic Programs A quadratic arithmetic program is an arithmetic circuit, specifically a Rank 1 Constraint System (R1CS) represented as a set of polynomials. It is derived using Lagrange...
Last updated on Jan 5, 2026
Evaluating a Quadratic Arithmetic Program on a Trusted Setup Evaluating a Quadratic Arithmetic Program (QAP) on a trusted setup enables a prover to demonstrate that a QAP is satisfied without...
Last updated on Jan 5, 2026
24 min read
Modeling the Stack Data Structure in ZK This tutorial shows how to create a stack in Circom. Be warned — this chapter is long. However, the strategy for creating ZK proofs about stacks will be...
Last updated on Jan 3, 2026
Roots of unity ω have the property ω^(k/2) ≡ −1 In previous articles, we established that in the finite field $\mathbb{F}_q$, if $k$ divides $q-1$: There exists a unique subgroup of order $k$ - the...
Last updated on Dec 31, 2025
9 min read
Cairo for Solidity Developers Cairo is a Rust-inspired language that compiles to bytecode, which runs on the Cairo Virtual Machine. The Cairo virtual machine is a zero-knowledge virtual machine...
Last updated on Dec 18, 2025
18 min read
Elliptic Curves over Finite Fields What do elliptic curves in finite fields look like? It’s easy to visualize smooth elliptic curves, but what do elliptic curves over a finite field look like? The...
Last updated on Dec 17, 2025
Converting Algebraic Circuits to R1CS (Rank One Constraint System) This article is explains how to turn a set of arithmetic constraints into Rank One Constraint System (R1CS). The focus of this...
Last updated on Dec 16, 2025
Components Part 2: OpenZeppelin ERC-20 Tutorial In Component Part 1, we learned how to create and use a component within a single file. We built a from scratch and integrated its storage, events, and...
Last updated on Dec 11, 2025
20 min read
Events in Starknet Events emit data from contract execution into the transaction receipt. The receipt holds metadata about what happened during the execution, which can be queried or indexed by...
Last updated on Dec 11, 2025
9 min read
Constructors in Cairo A constructor is a one-time-call function executed during contract deployment to initialize state variables, perform contract setup tasks, make cross-contract interactions and...
Last updated on Dec 11, 2025
3 min read
Access Control in Cairo Access control defines who can call specific functions or modify contract behavior. This article explains how Cairo implements access control using the macro. A Review of...
Last updated on Dec 11, 2025
8 min read
Cairo Components Part 1 Components in Cairo behave like abstract contracts in Solidity. They can define and work with storage, events, and functions, but they can’t be deployed on their own. The...
Last updated on Dec 11, 2025