Become a Security-Informed Solidity Engineer

Learn Solidity security and best practices from engineers who have worked on & audited crypto protocols with billions in total value locked.

"My security experience set me apart in interviews with protocols - and no one teaches and reinforces Web3 security skills like Macro."
Brian, Facebook --> Stardust

“It takes me an hour and a half to accomplish something it would've taken a week before the Macro Fellowship.”
Samantha, Founder Fellow, South Park Commons

“The Macro team, projects & community are awesome - My confidence shot up in writing & shipping secure smart contract code thanks to the Engineer Fellowship.”
Sunny, Gemini --> Synthetix

Build Contracts from Scratch

ERC-20, ERC-721, DAO governance, Liquidity Pools, and more

Average Graduate Compensation

$201k Salary + Tokens / Equity

6 Weeks Part-Time

Sync & Async w/ other Experienced Devs

Next Cohorts

July 18 (At Capacity)
September 5
Cohorts are limited to 25 engineers


1 ETH 👀

Industry Approved

Macro is backed by several of the best founders, operators, and investors in Web3

All types of Web3 Projects are Hiring Macro Grads

... and 60+ more

What you will learn?

Web3 moves fast and our topics are updated every week. By the time you enroll, you may learn stuff not on this list, or may not learn something on this list.

Learn by doing

You'll learn all of the below mostly through projects, and some through live lectures.

After each project or assignment our staff micro-audits your code and scores it based on security, accuracy, and readability.

We provide you personalized feedback in the same format in which our audit arm delivers feedback to paying clients.

Smart Contract Security Engineering

Understanding known security attacks, with detailed analyses of multiple real-world hacks

Code analysis tools

Reducing code complexity

Deeply understanding the EVM, at the level of assembly and opcodes

Exposure to important EIPs and where to find them

Best practices for securing a protocol using Gnosis Multi-signature Wallets

Tips on how to approach smart contract auditing, from professional auditors

Get all your web3-related questions answered by professional practitioners

Designing with Blockchain Constraints

Data structures & visibility


Weaknesses of the platform

Mitigating front running vulnerabilities

Time-based business logic

Deploying and optimizing code for L2 chains

Blockchain Software Engineering

Deploying your code to testnet & mainnet

Smart contract design patterns

Conforming to ERC standards

Interacting with other existing contracts

Storage and gas optimization

Best practices when writing tests for Solidity

Determining whether data can/should be on-chain or off-chain

Learn Web3 in the Browser by doing

Ethereum provider APIs

Compiling your code and generating ABIs

Building a browser frontend to a smart contract backend

  1. Reading contract data
  2. Connecting to a user's wallet
  3. Signing transactions

Admissions & Onboarding Timeline

Submit an application
45m technical discussion
Homework (optional)
Precourse work
Day 1 of class

What makes a great applicant?


4+ years of development experience with substantial feature delivery

Full-stack background is preferable but advanced front-end or back-end engineers can also succeed

Excited to learn

Excited to learn how to write secure smart contracts


Has at least 25+ hours/week available to dedicate to the course


Can attend *all* lectures (9:00 am to 11:00 am Pacific time, M/W/F)


Excited and capable of independently learning a new programming language (Solidity)

(We don't actually teach a lot of Solidity other than the intricacies, we expect you to learn most of it yourself)


Can attend *some* office hours (Tuesday / Thursday scattered through Pacific time)


Great collaboration (async & written via Discord and sync & verbal via Zoom)

Get advanced training in Solidity & Web3