Blockchain & Cryptocurrency Glossary

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • search-icon Clear Definitions
  • search-icon Practical
  • search-icon Technical
  • search-icon Related Terms

Escrow Contract

1 min read
Pronunciation
[es-kroh kon-trakt]
Analogy
An escrow contract is like a notary holding the deposit for a house sale until both buyer and seller fulfill their obligations.
Definition
A smart contract that holds funds or assets in trust until predefined conditions are met, then releases them to the designated parties.
Key Points Intro
Escrow contracts enforce conditional transfers via:
Key Points

Conditional logic: `require` statements for release conditions.

Multi‑party roles: Payer, payee, and optionally an arbiter.

Timeouts: Refunds if conditions not met within deadline.

Dispute resolution: Arbiter function to release or refund.

Example
``` function release() external onlyArbiter { payable(payee).transfer(amount); } function refund() external after(deadline) { payable(payer).transfer(amount); } ```
Technical Deep Dive
Store `payer`, `payee`, `arbiter`, `amount`, `deadline`. On deposit, require `msg.value == amount`. Implement `release()` restricted to `arbiter` and `refund()` allowed after `deadline`. Use events `Deposited`, `Released`, `Refunded` for transparency.
Security Warning
If arbiter key is compromised, funds can be misreleased; consider multi‑arbiter multisig.
Caveat
Funds locked until resolution; poorly defined conditions can trap assets.

Escrow Contract - Related Articles

No related articles for this term.