Smart Invoicing - Request for comments

Hi all,

This post is quite long, but essentially I’m looking for input on a proposal for a “Smart Invoicing” module. In particular, I’d like to hear:

  1. is something like this already in the works?
  2. if not, should we move forward with this as a proposal and get it built?

In general, all comments are welcome.


Myself and 6 other data scientists / engineers started experimenting with the DAO structure in January this year, setting up D5 - The Data Science & Engineering DAO.

In brief, we are a digital collective structured as what I would call a liquid meritocracy. I’d be happy to go into details on our governance + incentive model in a separate post, but in this context, I’ll focus on how we bill our clients and how we incorporate that into our liquid meritocracy.

In our DAO, we have a “relayer model” which works as follows:
Whenever a D5 member A shares billable work (from external clients) with another D5 member B, the relayer A gets X% of B’s revenues (up to a total relayer fee of $5000).
In addition, both A and B will receive newly minted DFCs (our token) at a rate of 1:Z with the US$ amount of the relayer fee. This means that people who leverage the D5 network (on either side) will increasingly receive more governance utility.

We can formalize the relayer model with 5 parameters:

  1. Relayer fee: R% of billed amount is paid in DAI from relayee to relayer
  2. Network fee: N% of relayer fee is paid to DAO
  3. Relayer bounty: relayer gets B_R DFCs per DAI paid in the relayer fee
  4. Relayee bounty: relayee gets B_E DFCs per DAI paid in the relayer fee

The parameter values are decided via DAO voting, similar to how MakerDAO’s stability fee is decided by votes. For example, the relayer fee and network fee might both be 10%, and the relayer/relayee bounties might be paid at a rate of 1:1 in DAI:DFC.

Currently, we implement the model manually, which involves trust and does not scale. Naturally, it would be ideal for us to have an app with underlying smart contract(s) so that we can trustlessly execute relays from invoices.

It would probably be a good idea to generalize our situation so that this would be useful for the whole Aragon ecosystem in something like a “Smart Invoicing” app.


The idea would be that whenever the DAO invoices an external client, we could send them a digital invoice in the form of a unique link where the only thing they have to do is pay the amount listed (e.g. in DAI).

The invoice has been configured in a smart contract such that it executes our relay model described above. That means that before sending it to the client, at a minimum, we have to configure:

  1. amount billable (in e.g. DAI)
  2. relayer wallet
  3. relayee wallet

The 4 parameters mentioned in the relayer model above would then be accessed via a proxy smart contract (think of these as global variables).

We could generalize the Smart Invoicing functionality and support the following more broadly:

  1. money coming in to the DAO
  2. DAO retains a small share
  3. a specified list of wallets get a share according to some distribution
  4. those same wallets get an increased ownership of the DAO proportional to the network fee

This is the essence of the relayer model in a liquid meritocracy.

From an app perspective, we would need two main interfaces:

  1. configuration (i.e. DAO members issue new invoices)
  2. payment (i.e. external clients pay issued invoices)

So, to go back to the questions at the top of this post:

  1. is something like this is already in the works?
  2. if not, should we move forward with this as a proposal and get it built?

Looking forward to hearing your thoughts! Thanks for reading.

1 Like