How It Works
The agreement lifecycle
Every MyPact agreement follows the same three phases:
Create the agreement
The person organizing the deal sets the terms:
- Title and description — what this agreement is about
- Recipients — who’s involved (added by wallet address or email invite)
- Amount — how much to hold in escrow, in USDC or DAI (skip this for terms-only agreements)
- Approval threshold — how many people need to approve before funds release (e.g., 2 of 3)
- Deadline — optional but recommended; funds auto-refund if the deadline passes without enough approvals
Fund the escrow
The creator deposits funds (USDC or DAI) into the agreement. For USDC, this is a single wallet transaction — MyPact uses a gasless permit so you approve and deposit in one step. For DAI, two transactions happen back-to-back:
- Approve — gives MyPact permission to hold the specified amount
- Deposit — moves funds into escrow on-chain
Once funded, the agreement is active. Funds are held by the smart contract — not by MyPact, not by any bank. Nobody can touch them until the approval threshold is met.
Approve and release
When conditions are met, signers connect their wallet and click Approve. Each approval is recorded on-chain.
Once the required number of approvals is reached, funds release automatically to the recipient. No manual withdrawal step — it happens in the same transaction as the final approval.
Multi-party approvals (N-of-M)
This is what makes MyPact different from traditional 2-party escrow. You can set any approval threshold:
Example: 2-of-3 escrow
Alice hires Bob and Carol for a project. She creates a 2-of-3 escrow for $3,000 USDC. Any two of the three parties can approve to release funds.
- If Alice and Bob approve → funds release to the recipient
- If Bob and Carol approve → funds release to the recipient
- If only Alice approves → funds stay in escrow until a second approval or the deadline passes
Example: 3-of-3 terms agreement
Three co-founders agree to terms for an equity split. All three must sign for the agreement to be valid. Each person connects their wallet and signs — creating a permanent, verifiable on-chain record.
The approval threshold is set when the agreement is created and cannot be changed afterward. This is what makes the agreement binding — nobody can override it.
Protection levels
When creating an agreement, you choose a protection level that determines who can approve the release of funds:
Standard (recommended)
Both parties are signers. Either one can approve and release funds. This is the simplest setup and works well for most agreements where both parties trust each other.
- Threshold: 1-of-2 (either party can approve)
- Best for: Freelance work, simple payments, agreements between people who know each other
Arbitrated
Adds a neutral third party chosen by you. Any two of the three signers can approve the release. This provides an extra layer of protection — if there’s a disagreement, the third party can break the tie.
- Threshold: 2-of-3 (any two out of three)
- Best for: Higher-value agreements, deals between parties who don’t know each other well, projects where disputes are possible
Custom
Set your own signers and approval threshold. Add as many signers as you need and choose exactly how many must approve before funds release. For advanced users who need specific governance rules.
- Threshold: Any N-of-M you choose
- Best for: Multi-party deals, DAO governance, grant committees, board approvals
Which should I choose? Start with Standard for most agreements. Choose Arbitrated if you want an extra layer of protection or if the other party is someone you haven’t worked with before.
Escrow vs. Terms-only
| Escrow | Terms-only | |
|---|---|---|
| Funds involved? | Yes — USDC deposited and held on-chain | No — just a signed record |
| What triggers release? | Approval threshold met | N/A — no funds to release |
| Use case | Payments, milestones, grants | Scope agreements, partnerships, governance |
| Deadline? | Optional (auto-refund if passed) | Optional (record when all signed) |
What happens when things go wrong?
| Scenario | What happens |
|---|---|
| Recipient never approves | If a deadline is set, funds automatically refund to the creator when it passes. Without a deadline, the creator can cancel after the lock window expires. |
| Wrong amount deposited | The agreement must be cancelled and a new one created. Cancellation refunds funds to the creator (after the lock window). |
| Creator wants a refund | During the 72-hour lock window (configurable): cancellation is blocked to protect the recipient. After the lock window: the creator can cancel and receive a full refund, as long as the approval threshold hasn’t been met. |
| Dispute between parties | MyPact does not arbitrate disputes. If parties disagree, they need to resolve it directly. Dispute resolution via Kleros is planned for a future release. |
The lock window is a configurable safety period (default 72 hours) after funding. During this window, the creator cannot cancel — this protects recipients from bait-and-switch scenarios. You can set the lock window from 1 hour to 90 days when creating the agreement.