How it works
A three-step flow where the beneficiary never has to send a transaction. They just sign a message; anyone can carry that signature on-chain to release funds.
Why sign instead of just sending funds?
A signature is a portable, verifiable promise. The beneficiary can authorise a release from a phone with no ETH for gas; the depositor (or any relayer) pays the gas to execute it. That's the "intent" pattern: users express what they want, and anyone competes to make it happen.
EIP-712 makes the signed payload human-readable in the wallet ("Release 10 USDC from escrow #4 before Nov 1") instead of an opaque hex blob, which is what makes this safe to use in practice.
Safety rails
The key idea
A typed EIP-712 message — escrowId, amount, deadline, nonce. Takes about a second in their wallet. No gas, no transaction, no on-chain footprint.
Depositor, relayer, beneficiary — whoever. The contract verifies the signature, pays out the amount, and bumps the nonce, all atomically.
The signature is the bridge. Cheap to produce (one wallet click), trivial to pass around (just bytes), cryptographically binding when submitted.