Pick a depth. Each prompt opens in your AI pre-loaded with the lesson. Click a row to preview the prompt.
An attacker doesn't break your code; they break your assumptions. The threat model is the explicit list of assumptions you're making — about who's calling your contracts, what they know, what they can afford to spend, what they can collude with. Skip this and you ship a protocol that's secure 'under unstated assumptions' — which means insecure as soon as someone notices.
A useful threat model has three layers: (1) Who is the adversary — single actor, miner, MEV bot, regulator? (2) What can they afford — flash loan? 51% stake? Censorship? (3) What do they win by deviating from the protocol — money? Information? Power over a vote?