Ship the critical path first
Add one modifier on the calls that matter. Cover the surface that moves money before you boil the ocean.
Open source · Pre-execution firewall
Moat evaluates high-risk calls against your protocol state and your rules before execution. Integrate once on the functions that move value, ship with a clearer story for LPs and partners.
$1B+ lost to DeFi exploits in 2025 (DeFiLlama). That is the class of failures pre-execution emulation is built to catch.
Problem
Most defenses are reactive. By the time mempool races or pause switches fire, users are often already losing funds. Shipping has outpaced audit cycles, and the obvious closed tools do not help every team.
Solution
It sits in front of deposits, withdrawals, swaps, or any function you choose. Operators emulate the proposed state change, run your rules, and attest. Your contract only executes when policy passes, or after a timelock gives users a guaranteed path forward.
Add one modifier on the calls that matter. Cover the surface that moves money before you boil the ocean.
Limits, ratios, yield bands, frequency caps—the invariants come from the team that knows the economics, not a black-box score.
Point to gated functions, written policy, and user recourse. Moat is the floor. Layer Forta, Hypernative, or custom stacks as you grow.
Moat keeps a minimal on-chain footprint: one lightweight gate in front of critical functions, with full policy checks handled off-chain.
modifier onlySafe() {
require(moat.isSecure(), "MOAT_REV");
_;
}
If a transaction is flagged, users can still withdraw after the timelock, while the protocol team gets a real window for incident response.
Validation is distributed across independent operators, with an optional EigenLayer-backed backend for teams that want network-level security.
How it works
Reference flow
Audits still matter. This is how you show LPs you treated security as product from day one.
Get started on GitHub