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.

Formally verify smart contracts using the Certora Verification Language and Certora Prover.

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
7 min read
INTT Algorithm by Hand As seen in the previous article, the Inverse Number Theoretic Transform (INTT) is performed using a Vandermonde matrix, just like the NTT. This shows that both evaluation via...
13 min read
Proof that the Inverse of a Vandermonde Matrix Is Another Vandermonde Matrix In the previous chapter on the Inverse Number Theoretic Transform, we claimed that the inverse of the Vandermonde matrix...
11 min read
The Inverse Number Theoretic Transform In the previous chapters, we studied the Number Theoretic Transform (NTT), which evaluates a polynomial at its $k$-th roots of unity. It can be understood as...
10 min read
Orthogonality of Roots of Unity The sum of powers of the $k$-th roots of unity generated by a primitive $k$-th root of unity is either zero or $k$. We call this property the orthogonality of roots of...
13 min read
Solana Syscalls: Logging in sBPF Assembly In the previous tutorial, we learned how a program reads from memory into the sBPF VM registers. Now, we’ll build on that model by showing how programs...
13 min read
Reading Solana Instruction inputs using sBPF assembly In the previous tutorial, we introduced the sBPF memory layout and explained the purpose of each register during program execution. In this...
12 min read
sBPF Memory Layout and Register Conventions This tutorial introduces the Solana BPF (sBPF) memory layout and the roles of its virtual machine registers. We'll demonstrate the conventions for how...
5 min read
Instruction Processor and Runtime Setup In part one, we covered the Solana program input serialization format and how program inputs are laid out in memory. In this part, we'll cover how programs...
11 min read
Solana Program Execution and Input Serialization This article explains how the BPF loader serializes program instruction inputs, how the entrypoint receives them, and how programs deserialize that...
6 min read
Rust program to SBF compilation Understanding how Rust compiles to SBF (Solana Bytecode Format) and how validators execute it is crucial for building complex Solana programs. This article explains...
13 min read
Tracing SBF Instruction Execution and Compute Costs In the previous article, we covered the sBPF VM architecture, register conventions, and the instruction set. Now we'll analyze actual bytecode...
13 min read
Organizing a Solana Program Solana programs don’t enforce a particular codebase structure, so code organization often depends on the developer’s preference and program complexity. In fact, a Solana...