How to Invoice in the DAO World
When a traditional organization wants strategic advice on a project, or their organization structure and workings, they turn to consulting firms. Consulting companies can provide specialized services in return for money. The strategic needs of Web3-native projects, protocols, and decentralized autonomous organizations (DAOs) are very different and require contributions from other crypto-native people. This is where service DAOs come in.
Much as the name suggests, service DAOs provide support in terms of operations, management, public relations to other DAOs and protocols. Contributors to these service DAOs are paid in terms of a reward per job and a stake in the client organization.
Paying for a service sounds like a simple transaction — do work, get paid. But in the world of Web3, things are not that straightforward. Projects take time to complete, require specialized skills, and many people operate anonymously.
These imperfect conditions create the “invoice dilemma”: how do freelancers ensure they are paid for their work while simultaneously ensuring clients receive the value they’re paying for? Freelancers, or teams within Service DAOs, could guarantee payment by charging clients before starting work, but the client risks the freelancer disappearing without completing the project as agreed upon. Clients could ensure they get exactly what they want by only paying the freelancer after the project is complete, but then the freelancer is working on spec – or hoping the client doesn’t stiff them.
If we flip traditional invoices on their head and combine escrow, milestone payments, and arbitration — all facilitated by smart contracts – we get smart invoices.
Thanks to escrow, a service provider can send a smart invoice before they start the work, instead of billing the client after the work is done. The client funds the escrow with the agreed-upon amount, and the service provider can see the deposited funds before beginning the project. As each project milestone is completed, the client releases the corresponding payment.
And, if there’s a dispute, an impartial third-party arbitrator can resolve the conflict onchain.
Smart Invoice, powered by RaidGuild DAO
In October 2020, members of the RaidGuild service DAO committed to solving one of the biggest problems facing DAOs (especially service DAOs): safely transacting with anonymous contributors. The solution was a milestone-based escrow tool.
This tool proved to be so effective and popular with RaidGuild’s clients, the DAO decided to make it a public good anyone could use for free, even if they were not part of the RaidGuild DAO.
In the summer of 2022, MolochDAO provided the Smart Invoice team with a grant to move the tool out of beta and develop the invoicing tool you see today. Other examples of smart invoicing include Gilded and Request. Today, let’s dive deeper into Smart Invoice, as it is a great example of what smart invoicing could look like.
How Smart Invoice Works
The foundation of Smart Invoice is open-source smart contracts.
These smart contracts allow DAOs and contractors to do business with anons around the world, or a known third party, in a safe and trustless way.
After logging in with MetaMask, Smart Invoice users can manage their invoices as a “contractor” or a “client”.
The Contractor initiates all escrow agreements with their clients through a simple four-step invoice creation process.
First, you enter project details.
Most of these details are straightforward and include fields like name, description, and start & end date. However, two fields are critical to quickly resolve any conflicts that might arise later.
The first is a link to a project agreement. This agreement is the contract, engagement letter, and/or statement of work (SOW). This agreement should be thorough, and ideally signed by both parties, because it will be used during arbitration if there is a dispute. This can be stored on any website, or via IPFS.
The second is the safety valve date.This is the date when the client can withdraw any remaining funds held in escrow – whether the project is complete, or not. (So, it’s a good idea to add some buffer time here in case the project takes longer than expected).
In Step 2, you add the payment details.
This is where the contractor enters wallet addresses, defines payment terms, and chooses an arbitrator.
The invoicing system supports 15+ tokens, so contractors and DAOs have a lot of flexibility in how they get paid.
Users can select arbitration through LEXDAO, or a custom provider. Arbitration services with LEXDAO cost 5% of the disputed amount in escrow. For example, if the disputed milestone is 10 WETH and arbitration is required, the potential dispute fee would be 0.5 WETH.
Smart Invoice’s arbitration feature is one of the most unique in the Web3 ecosystem. Dispute resolution happens onchain. The contractor or the client can lock the invoice with their wallet and request arbitration directly from their dashboard. The arbitrator reviews the invoice’s linked project agreement and the arbitration initiator’s comments, then distributes the funds as they deem appropriate.
The third step in creating an invoice is to configure the milestone payments.
Milestones allow the entire project to be broken up into multiple payments. This enables contractors to get paid throughout the project as they complete specific deliverables – instead of waiting until the very end. And it allows clients to better manage expectations to avoid scope creep.
The final step is to review all entered information and approve the invoice creation. Once created, this invoice can be shared with the client.
The client’s dashboard will show all invoices assigned to their wallet address.
After selecting one of the invoices, the client will see all the relevant details for that invoice, and be able to interact with it.
The first step is to deposit funds into the escrow. This will allow the contractor to begin work.
At any time, the client can release milestone payments, deposit more funds into the escrow, and lock the invoice to begin arbitration.
Clients can also download a PDF version of their invoices for their records, or to hand off to their bookkeeper.
Another unique feature of Smart Invoice is for the client to enable other wallet addresses to deposit funds into the escrow. This is super helpful for DAOs when one “address” is managing the contractor, but funds are coming from a treasury held by another “address” (which could be a multi-sig).
One of the most unique features of Smart Invoice is the built-in arbitration using a third party.
The default arbitrator is currently set to LEXDAO, however, custom arbitrators can be added.
For arbitration to occur, the client or contractor must go to a specific invoice and select the LOCK option. This will present the user with a text box to describe the conflict and allow the user to see the cost of arbitration before moving forward.
Arbitrators have access to the Smart Invoice platform with a custom view that allows for the management of arbitration claims.
Leveraging the project agreement, engagement letter, SOW, or user-provided details the arbitrator will help to remediate the dispute, communicate all findings, and release funds accordingly.
This sort of functionality for impartial resolution of disputes is where Web3 shines, and what excites us about the future of contract work.
As the DAO and Web3 contractor space continues to develop, we’ll see more innovative tools built specifically for Web3 users and their challenges.
Smart invoice tools solve one of these primary challenges with escrow-based invoicing, including onchain arbitration. Invoices are simple to create and manage, milestone payments keep projects moving forward, and impartial dispute resolution keeps things safe.