How to Create an Escrow Proposal
Overview
The Escrow Builder Proposal enables Nouns Builders to create proposals for milestone-based grants that enhances accountability and transparency within Nouns Builder DAOs. This upgrade leverages Smart Invoice’s escrow and arbitration features, empowering DAOs to proactively manage funds tied to deliverables. A brief demo of the functionality can be found here.
Key Terms
Escrow Proposal
: A proposal type allowing funds to be allocated and released based on defined milestones.Safety Valve
: Ensures funds are not stuck in escrow and can be withdrawn after the safety valve date passes.Milestone
: A defined deliverable or objective that triggers the release of a portion of escrowed funds.Arbitration
: The resolution process for disputes regarding milestones or fund releases.Proposal Submission
: The process of creating, reviewing, and submitting an Escrow Proposal.Attestation
: The process of formally verifying delegation authority using the Ethereum Attestation Service (EAS).Delegation
: The act of assigning fund release authority to a “Client” address that is different from the DAO address.Release
: The action of transferring funds from escrow upon the successful completion of a milestone.Client
: The entity responsible for managing and withdrawing funds from the escrow after milestones are met.Recipient
: The wallet address or entity receiving funds allocated for milestones.
Creating an Escrow Proposal
Functionally Funds are secured in escrow and released upon milestone completion. Milestone releases can be requested under the milestone management page.
Step 1: Select the Escrow Proposal Type
- Navigate to the
Activity
section in the Nouns Builder dashboard. - Click
Create Proposal
and chooseEscrow Milestones
from the proposal type menu.
Step 2: Add Recipient and Safety Valve
- Enter the recipient’s wallet address (e.g.,
vitalik.eth
). - Set a
safety valve date
to ensure funds are locked for at least 30 days.- Use the calendar picker to select the appropriate date.
- Ensures that funds are not stuck in escrow and can be withdrawn after the safety valve date passed. Once the selected Safety Valve Date is passed, the client can withdraw the funds out of the escrow and back into their own wallet. The safety valve must be a minimum of 30 days after invoice creation date or the last milestone date, whatever is later.
Step 3: Define Milestones
- User can add and configure as many milestones as needed by using the
Create Milestone
functionality. Configuration options includeamount
,title
,description
,delivery date
, and optionalmedia uploads
. For each milestone, provide:Title
: A descriptive name for the milestone (e.g., “Milestone 1”).Description
: Details about the milestone deliverables.Delivery Date
: The expected completion date for the milestone.Amount
: The allocated funds for the milestone.- Optional: Upload media files to enhance milestone descriptions.
- Add additional milestones as needed. The Total Escrow Amount will automatically update.
- The appropriate arbitration provider is selected automatically and displayed in the top right corner of the proposal builder page.
- Internal arbitration by Smart Invoice for amounts below $1,000.
- Kleros arbitration for amounts exceeding $1,000.
Step 4: Review and Submit
- Ensure the
Safety Valve Date
is at least 30 days after the final milestone. - Scroll to the end of the page and select
Add Transaction to Queue
and wait for the confirmation “n
transactions queued”. - Once your transaction was queued, select
Continue
. You are being redirected to the next screen. - Add a
Proposal Title
andSummary
to add the actual proposal content. - Click
Submit Proposal
to finalize the submission.
Add a title and a proposal summary according to the Nouns Builder proposal template. Refer to the proposal writing guide and the Nouns Builder proposal template for further information.
Release Milestone Flow
Milestones can be released using the “Release Milestone” button. This action moves funds allocated to the milestone from escrow to the recipient’s wallet. DAO members can vote on the milestone release proposal before execution.
- Navigate to the Proposal Details page to review the associated milestones.
- Select the milestone to release and click “Release Milestone”.
- You are being redirected to the proposal screen. Describe your deliverables and substantiate the release. Then submit the transaction.
- DAO voting or multisig approval is required before funds are transferred.
Delegating Release Authority
Delegation streamlines milestone management by allowing DAOs to assign fund release authority to specific entities. Attestation for this process occurs separately from the proposal builder, enabling predefined entities to securely confirm their roles and ensure transparent governance.
Attestations can be made by the following entities in this order of priority:
- DAO’s Own Treasury Address (specific to each DAO)
- Builder DAO Treasury (
0xcf325a4c78912216249b818521b0798a0f904c10
) - Builder DAO Operations Multisig (
0x58eAEfBEd9EEFbC564E302D0AfAE0B113E42eAb3
) - Smart Invoice Multisig (
0xD609883e5eb442d364Aa57369224bE839A38C6f9
)
How Attestations Use EAS (Ethereum Attestation Service)
This separate attestation flow ensures that all delegations are securely recorded, verifiable, and aligned with DAO governance protocols. If additional attestations or attesters are required for a DAO on Nouns.Builder, DAOs should contact Builder DAO or the SmartInvoice Team for assistance.
Attestation Flow
- Each attestation follows the schema ID
0x1289c5f988998891af7416d83820c40ba1c6f5ba31467f2e611172334dc53a0e
. - EAS verifies attestations to confirm delegation authority.
- Users can query the EAS registry to view or verify attestations for a specific DAO address.
Attestation Usage
- The attestation MUST be done on same chain as where dao exists.
- The schema only has
daoMultisig
address, which is the delegated address. The recipient MUST be the DAO token address.
Further Reading
FAQ
Why is a safety valve required?
The safety valve locks funds for a minimum of 30 days, ensuring sufficient time for review and dispute resolution.
Can this proposal type handle non-milestone grants?
While you can create proposals with only one milestone, for direct release proposals you should choose the appropriate proposal type.
What happens during a dispute?
- For amounts below $1,000, disputes are resolved internally by Smart Invoice.
- For amounts exceeding $1,000, disputes are escalated to Kleros for arbitration.
- To create a dispute, you first must locate the escrow using its address.
- Then visit
https://app.smartinvoice.xyz/invoice/base/ESCROW_ADDRESS
. - Replace
ESCROW_ADDRESS
with the relevant escrow address. - Connect your Recipient wallet and click
Lock funds
.
- Then visit
Architecture
Links
- Smart Invoice Documentation
- Nouns Builder Documentation Repository
- Smart Invoice App
- Kleros Arbitration Policy
- Smart Invoice Arbitration Infrastructure
Support
Smart Invoice provides dedicated support for Nouns Builder DAOs. Users can contact Smart Invoice via the support channel with a 24-hour response time for any issues related to escrow, arbitration, or proposal submission.
For additional support, reach out via Discord or email at team@smartinvoice.xyz.